eRacks/TR4X

Sans Digital MobileSTOR TR4X - contains four hot-swappable 3.5 inch hard drives with removable trays, as well as both USB 2.0 and eSATA host interfaces.
Utilizing high bandwidth mini-SAS (SFF-8088) cabling, the eRacks/TR4X supports 3Gb/s SAS or SATA hard drives to deliver superior read / write speeds that are crucial in performance-driven environments such as video editing industry and server application.

Maximum capacity = 12 terabytes

· Portable External Storage with a Removable Tray.
· Dual Host Interface: USB 2.0 and eSATA. Additional options for connecting this unit are available in the PCI dropdown below.
· Supports High Performance SATA2 and SATA3 Hard Drives.
· Durable Aluminum Housing.
· Supports the latest 3TB HDD.
· Ultra Quiet Operation.
· RAID 0,1,5,10.
· Linux, Mac OS X, (and even MS Windows) Supported.

Dimensions: 5.3"W x 7.1"H x 10.0"D
Weight: 5.9 lbs
Power Supply: Dual 12V & 5V DC Adaptor
Host Interface and Transfer Rate: USB 2.0 (480Mbps) & eSATA (3.0Gbps)
Status Indicators: Status and Power LEDs

Base configuration includes: 4 x 250GB SATA II drives.


Configure eRacks/TR4X

Choose the desired options and click "Add to Cart". You may also request a quote, please add additional requests and information in the "Notes" field. Your quote request will be sent to your profile's eMail if you are logged in, otherwise enter the email address below (required only if not logged in).

Current Configuration

Base Price: $ 590.00 As Configured: $ 590.00
Configuration Summary:
Default Configuration
Option Choices More Info Add/Subtract
Base SystemSans Digital TowerRAID TR4X USB
RAID Configurationnone (JBOD)
Removable HD Bay 1320 GB SATA3 7200rpm Hard Drive
Removable HD Bay 2320 GB SATA3 7200rpm Hard Drive
Removable HD Bay 3320 GB SATA3 7200rpm Hard Drive
Removable HD Bay 4320 GB SATA3 7200rpm Hard Drive
PCInone
Org Contribution$5 to the Ubuntu Studio Project
WarrantyStandard 1yr full /3yr limited warranty
Notes Enter notes or custom instructions for this item here  

To request a quote, please add additional requests and information in the "Notes" field, above. Your quote request will be sent to your profile's eMail if you are logged in, otherwise enter the email address below (required only if not logged in).

«

Versions

Package Name Version
Django 2.2.14
Python 3.8.3
compressor Compressor 2.4
debug_toolbar Debug Toolbar 2.2
django_wysiwyg Django_Wysiwyg 0.8.0
easy_thumbnails Easy_Thumbnails <module 'easy_thumbnails.get_version' from '/usr/local/lib/python3.8/site-packages/easy_thumbnails/get_version.py'>
filebrowser Filebrowser 3.13.1
grappelli Grappelli 2.14.2
guardian Guardian 2.3.0
haystack Haystack 0.0.dev0
secure_mail Secure Mail 1.1.0
taggit Taggit 1.3.0
userena Userena 6.0.0

Time

Resource usage

Resource Value
User CPU time 4268.765 msec
System CPU time 710.528 msec
Total CPU time 4979.293 msec
Elapsed time 15113.822 msec
Context switches 9 voluntary, 1643 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

Settings from settings.prod

Setting Value
ABSOLUTE_URL_OVERRIDES {}
ADMINS (('Joe', 'joe@eracks.com'), ('Info', 'info@eracks.com'))
ALLOWED_HOSTS ['localhost', '127.0.0.1', '[::1]', '.eracks.com', '172.18.0.5', 'testserver', '127.0.1.1', '172.18.1.3', '172.18.1.4', '47.152.181.244', '118.179.58.19', '118.179.78.103', '184.181.113.186', '192.168.1.12', 'web']
AMZ_PAYMENTS_API_ENDPOINT '********************'
AMZ_PAY_ACCESS_KEY_ID '********************'
AMZ_PAY_CLIENT_ID 'amzn1.application-oa2-client.1e7194acc71b4202a2d8971d9ddba100'
AMZ_PAY_CLIENT_SECRET '********************'
AMZ_PAY_LOGIN_API_URL '********************'
AMZ_PAY_MERCHANT_ID 'A3HOAJNU7DW6RD'
AMZ_PAY_PROFILE_API_URL '********************'
AMZ_PAY_SECRET_KEY '********************'
AMZ_PAY_STORE_NAME 'eRacks Systems'
ANONYMOUS_USER_NAME 'AnonymousUser'
APPEND_SLASH True
AUTHENTICATION_BACKENDS ('userena.backends.UserenaAuthenticationBackend', 'guardian.backends.ObjectPermissionBackend', 'django.contrib.auth.backends.ModelBackend')
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_PROFILE_MODULE 'customers.Customer'
AUTH_USER_MODEL 'auth.User'
BASE_DIR '/home/joe/eracks12/web'
CACHES {'default': {'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'KEY_PREFIX': '********************', 'LOCATION': 'memcache:11211'}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
COMPRESSORS {'css': 'compressor.css.CssCompressor', 'js': 'compressor.js.JsCompressor'}
COMPRESS_CACHEABLE_PRECOMPILERS ()
COMPRESS_CACHE_BACKEND 'default'
COMPRESS_CACHE_KEY_FUNCTION '********************'
COMPRESS_CLEAN_CSS_ARGUMENTS ''
COMPRESS_CLEAN_CSS_BINARY 'cleancss'
COMPRESS_CLOSURE_COMPILER_ARGUMENTS ''
COMPRESS_CLOSURE_COMPILER_BINARY 'java -jar compiler.jar'
COMPRESS_CSS_HASHING_METHOD 'mtime'
COMPRESS_DATA_URI_MAX_SIZE 1024
COMPRESS_DEBUG_TOGGLE 'nocompress'
COMPRESS_ENABLED False
COMPRESS_FILTERS {'css': ['compressor.filters.css_default.CssAbsoluteFilter'], 'js': ['compressor.filters.jsmin.JSMinFilter']}
COMPRESS_JINJA2_GET_ENVIRONMENT <function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7f253b2d18b0>
COMPRESS_MINT_DELAY 30
COMPRESS_MTIME_DELAY 10
COMPRESS_OFFLINE False
COMPRESS_OFFLINE_CONTEXT {'STATIC_URL': '/static/'}
COMPRESS_OFFLINE_MANIFEST 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT 31536000
COMPRESS_OUTPUT_DIR 'CACHE'
COMPRESS_PARSER 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS ()
COMPRESS_REBUILD_TIMEOUT 2592000
COMPRESS_ROOT '/home/joe/eracks12/web/static'
COMPRESS_STORAGE 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT {'STATIC_URL': '/static/'}
COMPRESS_URL '/static/'
COMPRESS_URL_PLACEHOLDER '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE False
COMPRESS_YUGLIFY_BINARY 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS '--terminal'
COMPRESS_YUI_BINARY 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS ''
COMPRESS_YUI_JS_ARGUMENTS ''
CONTACT_EMAILS ['info@eracks.com', 'joe@eracks.com']
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE 'Lax'
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS False
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'postgres', 'NAME': 'eracksdb', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'postgres', 'MIRROR': None, 'NAME': 'eracksdb_test', 'PASSWORD': '********************', 'SERIALIZE': False, 'USER': 'eracks'}, 'TIME_ZONE': None, 'USER': 'eracks'}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DECIMAL_SEPARATOR '.'
DEFAULT_CHARSET 'utf-8'
DEFAULT_CONTENT_TYPE 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL 'support@eracks.com'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DISALLOWED_USER_AGENTS []
DJANGO_WYSIWYG_FLAVOR 'ckeditor'
DJANGO_WYSIWYG_MEDIA_URL '//cdn.ckeditor.com/4.5.3/full-all/'
DOCKER True
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'mail.eracks.com'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER 'relay@librehost.com'
EMAIL_PORT 587
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME True
EMAIL_USE_SSL False
EMAIL_USE_TLS True
FILEBROWSER_DIRECTORY ''
FILEBROWSER_VERSIONS_BASEDIR ''
FILE_CHARSET 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS None
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORM_RENDERER 'django.forms.renderers.DjangoTemplates'
GITLAB False
GOOGLE_ANALYTICS_DOMAIN 'eracks.com'
GOOGLE_ANALYTICS_ID 'UA-37665012-1'
GRAPPELLI_INDEX_DASHBOARD 'eracks.dashboard.CustomIndexDashboard'
HAYSTACK_CONNECTIONS {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/home/joe/eracks12/web/eracks/whoosh_index'}}
HOSTNAME 'web'
IGNORABLE_404_URLS []
INFO_EMAIL 'info@eracks.com'
INSTALLED_APPS ['grappelli.dashboard', 'grappelli', 'filebrowser', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'captcha', 'compressor', 'apps.catax', 'apps.home', 'apps.components', 'apps.customers', 'apps.orders', 'apps.products', 'apps.quotes', 'quickpages', 'taggit', 'django.contrib.sites', 'django.contrib.redirects', 'debug_toolbar', 'secure_mail', 'django_wysiwyg', 'memcache_status', 'haystack', 'utils', 'userena', 'guardian', 'easy_thumbnails']
INSTANCE 'prod'
INTERNAL_IPS ('127.0.0.1', '127.0.1.1', '47.143.87.9', '47.152.181.244', '68.4.180.198', '172.18.0.1', '172.18.0.2', '172.18.0.3', '172.18.0.4', '172.18.0.5', '172.19.0.1', '172.19.0.2', '172.19.0.3', '172.19.0.4', '172.19.0.5', '216.172.133.7')
IP '172.18.0.5'
LANGUAGES [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE 'en-us'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LOADING_FIXTURES False
LOCALDEV False
LOCALE_PATHS []
LOGGING {'disable_existing_loggers': False, 'handlers': {'file': {'class': 'logging.FileHandler', 'filename': 'django.log', 'level': 'INFO'}}, 'loggers': {'django': {'handlers': ['file'], 'level': 'INFO', 'propagate': True}}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/accounts/profile/'
LOGIN_URL '/accounts/signin/'
LOGOUT_REDIRECT_URL None
LOG_LEVEL 'INFO'
MANAGERS (('Joe', 'joe@eracks.com'), ('Info', 'info@eracks.com'))
MEDIA_ROOT '/home/joe/eracks12/web/media'
MEDIA_URL '/media/'
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware']
MIGRATING False
MIGRATION_MODULES {}
MONTH_DAY_FORMAT 'F j'
MYURL 'https://eracks.com'
NOCAPTCHA True
NUMBER_GROUPING 0
ORDER_EMAILS ['orders@eracks.com']
ORDER_FROM_EMAIL 'orders@eracks.com'
ORDER_TYPE 'Confirmed'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT_DAYS '********************'
POSTGRES_HOST 'postgres'
PREPEND_WWW False
QUICKPAGE_HEADING 2
RECAPTCHA_PRIVATE_KEY '********************'
RECAPTCHA_PUBLIC_KEY '********************'
REGULAR_EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
ROOT_URLCONF 'eracks.urls'
SECRET_KEY '********************'
SECURE_BROWSER_XSS_FILTER False
SECURE_CONTENT_TYPE_NOSNIFF False
SECURE_EMAIL_BACKEND 'secure_mail.backends.EncryptingSmtpEmailBackend'
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_MAIL_GNUPG_ENCODING 'utf-8'
SECURE_MAIL_GNUPG_HOME '/home/joe/.gnupg'
SECURE_MAIL_SIGNING_KEY_DATA '********************'
SECURE_ORDER_EMAIL 'joe@eracks.com'
SECURE_PROXY_SSL_HEADER None
SECURE_REDIRECT_EXEMPT []
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SELENIUM_BROWSER 'chrome'
SELENIUM_CALLBACK_HOST 'web'
SELENIUM_HOST None
SERVER_EMAIL 'support@eracks.com'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE 'Lax'
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE 'settings.prod'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SITE_ID 1
SITE_NAME 'eRacks'
SITE_TO_VALIDATE 'client'
SLEEPTIME 0.1
STATICFILES_DIRS [('unify', '/home/joe/eracks12/unify')]
STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder']
STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT '/home/joe/eracks12/web/static'
STATIC_URL '/static/'
TELEGRAM_BOT_TOKEN '********************'
TELEGRAM_CHAT_ID '116010224&te'
TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/joe/eracks12/web/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'utils.context_processors.settings', 'utils.context_processors.models', 'quickpages.context_processors.quick_snippets', 'quickpages.context_processors.quick_snippet_tags', 'apps.home.context_processors.registration_forms', 'apps.home.context_processors.cart_variables', 'apps.home.context_processors.environment', 'apps.home.context_processors.google_analytics_tags', 'apps.home.context_processors.background_images', 'apps.home.context_processors.metacat_tags']}}]
TESTING False
TEST_NON_SERIALIZED_APPS []
TEST_RESULTS_DIR '/home/joe/eracks12/web/media/test_results'
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'UTC'
TRACE ''
USERENA_ACTIVATION_REQUIRED False
USERENA_DEFAULT_PRIVACY 'closed'
USERENA_REDIRECT_ON_SIGNOUT '/'
USERENA_REGISTER_PROFILE False
USERENA_USE_MESSAGES True
USERENA_WITHOUT_USERNAMES True
USE_I18N True
USE_L10N True
USE_THOUSAND_SEPARATOR False
USE_TZ False
USE_X_FORWARDED_HOST False
USE_X_FORWARDED_PORT False
VALIDATE_HTML_URL 'http://validator:8888'
VALIDATOR_HOST None
WSGI_APPLICATION 'eracks.wsgi.application'
X_FRAME_OPTIONS 'SAMEORIGIN'
YEAR_MONTH_FORMAT 'F Y'

Headers

Request headers

Key Value
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding br,gzip
Accept-Language en-US,en;q=0.5
Connection close
Host eracks.com
User-Agent CCBot/2.0 (https://commoncrawl.org/faq/)
X-Forwarded-For 34.204.198.244
X-Forwarded-Protocol ssl
X-Real-Ip 34.204.198.244

Response headers

Key Value
Content-Type text/html; charset=utf-8

WSGI environ

Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.

Key Value
PATH_INFO /products/external-storage/TR4X/
QUERY_STRING
REMOTE_ADDR 172.18.0.4
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 0.0.0.0
SERVER_PORT 8000
SERVER_PROTOCOL HTTP/1.0
SERVER_SOFTWARE gunicorn/20.0.4

Request

View information

View function Arguments Keyword arguments URL name
apps.products.views.product () {'category': 'external-storage', 'sku': 'TR4X'} None

No cookies

Session data

Variable Value
'prod' {'baseoptions': '', 'baseprice': 590.0, 'blurb': '', 'category_id': 42556, 'comments': '\r\n' '\r\n' 'Scraped from Zope as of 2012-04-26\r\n' '\r\n' 'Scraped from Zope as of 2012-04-26\r\n' '\r\n' 'Scraped from Zope as of 2012-05-01\r\n' '\r\n' 'Scraped from Zope as of 2012-05-04\r\n' '\r\n' 'Scraped from Zope as of 2012-05-04\r\n' '\r\n' 'Scraped from Zope as of 2012-05-05\r\n' '\r\n' 'Scraped from Zope as of 2012-05-19\r\n' '\r\n' 'Scraped from Zope as of 2012-05-19\r\n' '\r\n' 'Scraped from Zope as of 2012-10-21\r\n' '\r\n' 'Scraped from Zope as of 2012-11-04', 'cost': 150.0, 'created': datetime.datetime(2011, 7, 8, 16, 31, 32, 663646), 'description': '<!-- BEGIN TR4X PRODUCT CONTENT -->\r\n' '<div><img alt="" class="addl-img" ' 'src="/images/products/tr4x/sansdigital_logo.jpeg" ' 'style="float:right; height:75px; margin-left:10px; ' 'margin-right:10px; width:129px" title="" />\r\n' '<div>Sans Digital MobileSTOR TR4X - contains four ' 'hot-swappable 3.5 inch hard drives with removable trays, as ' 'well as both USB 2.0 and eSATA host interfaces.</div>\r\n' '\r\n' '<div>Utilizing high bandwidth mini-SAS (SFF-8088) cabling, ' 'the eRacks/TR4X supports 3Gb/s SAS or SATA hard drives to ' 'deliver superior read / write speeds that are crucial in ' 'performance-driven environments such as video editing ' 'industry and server application.\r\n' '<p><em><strong>Maximum capacity = 12 ' 'terabytes</strong></em></p>\r\n' '\r\n' '<p>&middot; Portable External Storage with a Removable ' 'Tray.<br />\r\n' '&middot; Dual Host Interface: USB 2.0 and eSATA. Additional ' 'options for connecting this unit are available in the PCI ' 'dropdown below.<br />\r\n' '&middot; Supports High Performance SATA2 and SATA3 Hard ' 'Drives.<br />\r\n' '&middot; Durable Aluminum Housing.<br />\r\n' '&middot; Supports the latest 3TB HDD.<br />\r\n' '&middot; Ultra Quiet Operation.<br />\r\n' '&middot; RAID 0,1,5,10.<br />\r\n' '&middot; Linux, Mac OS X, (and even MS Windows) ' 'Supported.</p>\r\n' '\r\n' '<p><strong>Dimensions:</strong> 5.3&quot;W x 7.1&quot;H x ' '10.0&quot;D<br />\r\n' '<strong>Weight:</strong> 5.9 lbs<br />\r\n' '<strong>Power Supply:</strong> Dual 12V &amp; 5V DC ' 'Adaptor<br />\r\n' '<strong>Host Interface and Transfer Rate:</strong> USB 2.0 ' '(480Mbps) &amp; eSATA (3.0Gbps)<br />\r\n' '<strong>Status Indicators:</strong> Status and Power ' 'LEDs</p>\r\n' '\r\n' '<p><strong>Base configuration includes:</strong> 4 x 250GB ' 'SATA II drives.</p>\r\n' '</div>\r\n' '</div>\r\n' '<!--END TR4X PRODUCT CONTENT -->', 'features': '', 'id': 42623, 'image': <FileObject: images/products/tr4x/tr4x_1.jpeg>, 'link': '', 'meta_description': '', 'meta_keywords': '', 'meta_title': '', 'name': 'eRacks/TR4X', 'notes': '', 'opts': OrderedDict([('42629_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a84430>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 42586: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'sans digital', 'cost': 250.0, 'created': datetime.datetime(2009, 6, 3, 13, 48, 40, 390204), 'id': 42586, 'multiplier': None, 'name': 'Sans Digital TowerRAID ' 'TR4X USB', 'price': None, 'published': True, 'sortorder': 6003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 50, 386275)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 3, 38, 711748), 'defaultchoice_id': 42586, 'id': 42629, 'name': 'Base System', 'option_id': 18849, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 13, 25, 28, 995463)}), ('42625_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a84dc0>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 9279: {'blurb': '', 'choicecategory_id': 43910, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9279, 'multiplier': None, 'name': 'none (JBOD)', 'price': None, 'published': True, 'sortorder': 3000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 20, 665974)}, 11961: {'blurb': '', 'choicecategory_id': 43910, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11961, 'multiplier': None, 'name': 'RAID 0 (striping)', 'price': None, 'published': True, 'sortorder': 3010, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 21, 259280)}, 11962: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11962, 'multiplier': None, 'name': 'RAID 1 (mirroring)', 'price': None, 'published': True, 'sortorder': 3020, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 75286)}, 11963: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11963, 'multiplier': None, 'name': 'RAID 10 (mirroring and ' 'striping)', 'price': None, 'published': True, 'sortorder': 3030, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 118211)}, 11964: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11964, 'multiplier': None, 'name': 'RAID 5 (striped with ' 'parity)', 'price': None, 'published': True, 'sortorder': 3040, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 134790)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 3, 38, 711748), 'defaultchoice_id': 9279, 'id': 42625, 'name': 'RAID Configuration', 'option_id': 11959, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2009, 6, 5, 14, 3, 38, 711748)}), ('42624_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a845b0>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 48174: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 140.0, 'created': datetime.datetime(2011, 1, 28, 8, 20, 48, 873969), 'id': 48174, 'multiplier': None, 'name': '1.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8005, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 379038)}, 48242: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2011, 3, 23, 15, 56, 21, 950158), 'id': 48242, 'multiplier': None, 'name': '2.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8007, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 454147)}, 48243: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 90.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 18, 904614), 'id': 48243, 'multiplier': None, 'name': '750 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8004, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 903342)}, 48244: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 78.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 57, 226349), 'id': 48244, 'multiplier': None, 'name': '500 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 816748)}, 48245: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 68.0, 'created': datetime.datetime(2011, 3, 23, 15, 58, 35, 941847), 'id': 48245, 'multiplier': None, 'name': '320 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 752243)}, 48806: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 270.0, 'created': datetime.datetime(2011, 5, 26, 14, 13, 47, 169832), 'id': 48806, 'multiplier': None, 'name': '3.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8008, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 513539)}, 49187: {'blurb': 'Typically WD Black, ' 'Seagate Constellation ' 'ES, HGST, or other ' 'enterprise-class ' 'drive\r\n' '\r\n', 'choicecategory_id': 43918, 'comment': '', 'cost': 400.0, 'created': datetime.datetime(2011, 6, 27, 8, 45, 41, 598458), 'id': 49187, 'multiplier': None, 'name': '4.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8009, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 563852)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 3, 38, 711748), 'defaultchoice_id': 48245, 'id': 42624, 'name': 'Removable HD Bay 1', 'option_id': 4267, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2012, 3, 18, 11, 36, 1, 25751)}), ('42654_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a846a0>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 48174: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 140.0, 'created': datetime.datetime(2011, 1, 28, 8, 20, 48, 873969), 'id': 48174, 'multiplier': None, 'name': '1.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8005, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 379038)}, 48242: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2011, 3, 23, 15, 56, 21, 950158), 'id': 48242, 'multiplier': None, 'name': '2.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8007, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 454147)}, 48243: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 90.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 18, 904614), 'id': 48243, 'multiplier': None, 'name': '750 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8004, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 903342)}, 48244: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 78.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 57, 226349), 'id': 48244, 'multiplier': None, 'name': '500 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 816748)}, 48245: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 68.0, 'created': datetime.datetime(2011, 3, 23, 15, 58, 35, 941847), 'id': 48245, 'multiplier': None, 'name': '320 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 752243)}, 48806: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 270.0, 'created': datetime.datetime(2011, 5, 26, 14, 13, 47, 169832), 'id': 48806, 'multiplier': None, 'name': '3.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8008, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 513539)}, 49187: {'blurb': 'Typically WD Black, ' 'Seagate Constellation ' 'ES, HGST, or other ' 'enterprise-class ' 'drive\r\n' '\r\n', 'choicecategory_id': 43918, 'comment': '', 'cost': 400.0, 'created': datetime.datetime(2011, 6, 27, 8, 45, 41, 598458), 'id': 49187, 'multiplier': None, 'name': '4.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8009, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 563852)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 20, 52, 573285), 'defaultchoice_id': 48245, 'id': 42654, 'name': 'Removable HD Bay 2', 'option_id': 4285, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2012, 3, 18, 11, 36, 14, 584691)}), ('42655_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a841c0>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 48174: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 140.0, 'created': datetime.datetime(2011, 1, 28, 8, 20, 48, 873969), 'id': 48174, 'multiplier': None, 'name': '1.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8005, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 379038)}, 48242: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2011, 3, 23, 15, 56, 21, 950158), 'id': 48242, 'multiplier': None, 'name': '2.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8007, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 454147)}, 48243: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 90.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 18, 904614), 'id': 48243, 'multiplier': None, 'name': '750 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8004, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 903342)}, 48244: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 78.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 57, 226349), 'id': 48244, 'multiplier': None, 'name': '500 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 816748)}, 48245: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 68.0, 'created': datetime.datetime(2011, 3, 23, 15, 58, 35, 941847), 'id': 48245, 'multiplier': None, 'name': '320 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 752243)}, 48806: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 270.0, 'created': datetime.datetime(2011, 5, 26, 14, 13, 47, 169832), 'id': 48806, 'multiplier': None, 'name': '3.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8008, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 513539)}, 49187: {'blurb': 'Typically WD Black, ' 'Seagate Constellation ' 'ES, HGST, or other ' 'enterprise-class ' 'drive\r\n' '\r\n', 'choicecategory_id': 43918, 'comment': '', 'cost': 400.0, 'created': datetime.datetime(2011, 6, 27, 8, 45, 41, 598458), 'id': 49187, 'multiplier': None, 'name': '4.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8009, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 563852)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 21, 53, 712625), 'defaultchoice_id': 48245, 'id': 42655, 'name': 'Removable HD Bay 3', 'option_id': 6835, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2012, 3, 18, 11, 34, 17, 402692)}), ('42656_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a840d0>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 48174: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 140.0, 'created': datetime.datetime(2011, 1, 28, 8, 20, 48, 873969), 'id': 48174, 'multiplier': None, 'name': '1.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8005, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 379038)}, 48242: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2011, 3, 23, 15, 56, 21, 950158), 'id': 48242, 'multiplier': None, 'name': '2.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8007, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 454147)}, 48243: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 90.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 18, 904614), 'id': 48243, 'multiplier': None, 'name': '750 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8004, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 903342)}, 48244: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 78.0, 'created': datetime.datetime(2011, 3, 23, 15, 57, 57, 226349), 'id': 48244, 'multiplier': None, 'name': '500 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 816748)}, 48245: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 68.0, 'created': datetime.datetime(2011, 3, 23, 15, 58, 35, 941847), 'id': 48245, 'multiplier': None, 'name': '320 GB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 57, 752243)}, 48806: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 270.0, 'created': datetime.datetime(2011, 5, 26, 14, 13, 47, 169832), 'id': 48806, 'multiplier': None, 'name': '3.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8008, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 513539)}, 49187: {'blurb': 'Typically WD Black, ' 'Seagate Constellation ' 'ES, HGST, or other ' 'enterprise-class ' 'drive\r\n' '\r\n', 'choicecategory_id': 43918, 'comment': '', 'cost': 400.0, 'created': datetime.datetime(2011, 6, 27, 8, 45, 41, 598458), 'id': 49187, 'multiplier': None, 'name': '4.0 TB SATA3 7200rpm Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 8009, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 59, 563852)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 22, 14, 766325), 'defaultchoice_id': 48245, 'id': 42656, 'name': 'Removable HD Bay 4', 'option_id': 7649, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2012, 3, 18, 11, 33, 36, 704835)}), ('43203_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a84b80>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 42582: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'for sans digital', 'cost': 30.0, 'created': datetime.datetime(2009, 6, 3, 13, 45, 21, 353063), 'id': 42582, 'multiplier': None, 'name': '3-port Firewire PCI card', 'price': None, 'published': True, 'sortorder': 6000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 49, 397429)}, 42583: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'sans digital', 'cost': 25.0, 'created': datetime.datetime(2009, 6, 3, 13, 46, 1, 565123), 'id': 42583, 'multiplier': None, 'name': '3-port USB PCI card', 'price': None, 'published': True, 'sortorder': 6001, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 49, 727252)}, 42589: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'sans digital', 'cost': 40.0, 'created': datetime.datetime(2009, 6, 3, 13, 50, 50, 55409), 'id': 42589, 'multiplier': None, 'name': '2-port eSATA PCI card', 'price': None, 'published': True, 'sortorder': 6004, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 50, 646652)}, 42591: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'sans digital', 'cost': 55.0, 'created': datetime.datetime(2009, 6, 3, 13, 51, 41, 532871), 'id': 42591, 'multiplier': None, 'name': '2-port eSATA RAID PCI ' 'card', 'price': None, 'published': True, 'sortorder': 6005, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 50, 944545)}, 48396: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 347.0, 'created': datetime.datetime(2011, 4, 25, 15, 1, 6, 7513), 'id': 48396, 'multiplier': None, 'name': '10GbE Universal 2-port', 'price': None, 'published': True, 'sortorder': 611, 'source': '', 'updated': datetime.datetime(2015, 11, 26, 22, 33, 55, 654787)}, 48397: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 602.0, 'created': datetime.datetime(2011, 4, 25, 15, 1, 56, 53902), 'id': 48397, 'multiplier': None, 'name': '10GbE Intel SFP+ ', 'price': None, 'published': True, 'sortorder': 611, 'source': '', 'updated': datetime.datetime(2015, 11, 26, 22, 33, 55, 747256)}, 48398: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 696.0, 'created': datetime.datetime(2011, 4, 25, 15, 2, 47, 350426), 'id': 48398, 'multiplier': None, 'name': '10GbE Intel X500-series ' '2-port ', 'price': None, 'published': True, 'sortorder': 611, 'source': '', 'updated': datetime.datetime(2015, 11, 26, 22, 33, 55, 784052)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 25, 18, 21, 37, 283973), 'defaultchoice_id': 30, 'id': 43203, 'name': 'PCI', 'option_id': 6, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2009, 6, 25, 18, 21, 37, 283973)}), ('57306_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a847c0>, 'allowed_quantities': '1,2,5,10,20', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 16588: {'blurb': '', 'choicecategory_id': 43882, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 16588, 'multiplier': None, 'name': 'Other (enter details in ' '"Notes" field.)', 'price': None, 'published': True, 'sortorder': 4200, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 48, 10, 42090)}, 56702: {'blurb': 'Contribute to the Ubuntu ' 'Studio project', 'choicecategory_id': 43920, 'comment': '', 'cost': 5.0, 'created': datetime.datetime(2015, 2, 18, 19, 57, 2, 391752), 'id': 56702, 'multiplier': 1, 'name': '$5 to the Ubuntu Studio ' 'Project', 'price': None, 'published': True, 'sortorder': 20000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 4, 535207)}, 56703: {'blurb': 'Contribute to the ' 'OpenBSD Project / ' 'Foundation', 'choicecategory_id': 43920, 'comment': '', 'cost': 5.0, 'created': datetime.datetime(2015, 2, 18, 19, 58, 2, 870928), 'id': 56703, 'multiplier': 1, 'name': '$5 to the OpenBSD Project', 'price': None, 'published': True, 'sortorder': 20010, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 4, 585814)}, 56704: {'blurb': 'Contribute to the ' 'FreeBSD Foundation', 'choicecategory_id': 43920, 'comment': '', 'cost': 5.0, 'created': datetime.datetime(2015, 2, 18, 19, 59, 3, 155994), 'id': 56704, 'multiplier': 1, 'name': '$5 to the FreeBSD ' 'Foundation', 'price': None, 'published': True, 'sortorder': 20020, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 4, 667788)}, 56706: {'blurb': '', 'choicecategory_id': 43920, 'comment': '', 'cost': 5.0, 'created': datetime.datetime(2015, 2, 18, 20, 58, 6, 785612), 'id': 56706, 'multiplier': 1, 'name': '$5 to other Open Source ' 'project (please state in ' 'Notes)', 'price': None, 'published': True, 'sortorder': 21000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 4, 911462)}, 56708: {'blurb': 'Contribute qty x $5 to ' 'the EFF', 'choicecategory_id': 43920, 'comment': 'Contribute qty x $5 to ' 'the EFF', 'cost': 5.0, 'created': datetime.datetime(2015, 2, 19, 15, 30, 55, 572243), 'id': 56708, 'multiplier': 1, 'name': '$5 to the Electronic ' 'Frontier Foundation', 'price': None, 'published': True, 'sortorder': 20040, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 4, 730388)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 15, 14, 0, 2, 424001), 'defaultchoice_id': 56702, 'id': 57306, 'name': 'Org Contribution', 'option_id': 56701, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 11, 15, 14, 0, 2, 424024)}), ('42626_1', {'_state': <django.db.models.base.ModelState object at 0x7f2538a84610>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 18049: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18049, 'multiplier': None, 'name': 'Standard 1yr full /3yr ' 'limited warranty', 'price': None, 'published': True, 'sortorder': 9001, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 510446)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2009, 6, 5, 14, 3, 38, 711748), 'defaultchoice_id': 18049, 'id': 42626, 'name': 'Warranty', 'option_id': 18048, 'product_id': 42623, 'published': True, 'qty': 1, 'required': False, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 15, 4, 13, 660300)})]), 'published': True, 'qty': 1, 'sku': 'TR4X', 'sortorder': 0, 'summary': '', 'title': '', 'totprice': 590.0, 'updated': datetime.datetime(2015, 10, 21, 10, 58, 29, 321899), 'weight': 40}

No GET data

No POST data

SQL queries from 1 connection

  •   default 474.66 ms (89 queries including 87 similar and 84 duplicates )
  Query Timeline Time (ms) Action
  +
SELECT "products"."id",
       "products"."name",
       "products"."sku",
       "products"."baseprice",
       "products"."cost",
       "products"."categoryid",
       "products"."weight",
       "products"."baseoptions",
       "products"."sortorder",
       "products"."blurb",
       "products"."description",
       "products"."features",
       "products"."comments",
       "products"."link",
       "products"."title",
       "products"."meta_title",
       "products"."meta_description",
       "products"."meta_keywords",
       "products"."created",
       "products"."updated",
       "products"."published"
  FROM
"products"
 WHERE
UPPER("products"."sku"::text) = UPPER('TR4X')
 ORDER BY
"products"."sortorder" ASC, "products"."sku" ASC
SELECT ••• FROM "products" WHERE UPPER("products"."sku"::text) = UPPER('TR4X') ORDER BY "products"."sortorder" ASC, "products"."sku" ASC
0.8331533450200164%
3.95

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(371)
  if products:
  +
SELECT "categories"."id",
       "categories"."name",
       "categories"."slug",
       "categories"."title",
       "categories"."blurb",
       "categories"."description",
       "categories"."comments",
       "categories"."sortorder",
       "categories"."meta_title",
       "categories"."meta_description",
       "categories"."meta_keywords",
       "categories"."published",
       "categories"."created",
       "categories"."updated"
  FROM
"categories"
 WHERE
"categories"."id" = 42556
SELECT ••• FROM "categories" WHERE "categories"."id" = 42556
2.3776539904664795%
11.29

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(375)
  if product.category.slug != category:
  +
SELECT "prodopts"."id",
       "prodopts"."name",
       "prodopts"."qty",
       "prodopts"."single",
       "prodopts"."required",
       "prodopts"."choices_orderby",
       "prodopts"."allowed_quantities",
       "prodopts"."productid",
       "prodopts"."optionid",
       "prodopts"."defaultchoiceid",
       "prodopts"."published",
       "prodopts"."created",
       "prodopts"."updated"
  FROM
"prodopts"
 INNER JOIN
"options"
    ON
("prodopts"."optionid" = "options"."id")
 WHERE
"prodopts"."productid" = 42623
 ORDER BY
"options"."sortorder" ASC
SELECT ••• FROM "prodopts" INNER JOIN "options" ON ("prodopts"."optionid" = "options"."id") WHERE "prodopts"."productid" = 42623 ORDER BY "options"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.8496787836473502%
4.03

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(193)
  for po in product_options:
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42629
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42629
  18 similar queries.   Duplicated 2 times.
2.0412683902012687%
9.69

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 42586
SELECT ••• FROM "choices" WHERE "choices"."id" = 42586
  11 similar queries.   Duplicated 2 times.
0.16334567299723235%
0.78

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(492)
  result = [self.defaultchoice.id]
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 42586)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 42586) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  4 similar queries.   Duplicated 2 times.
0.710141797304696%
3.37

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 18849
SELECT ••• FROM "options" WHERE "options"."id" = 18849
  18 similar queries.   Duplicated 2 times.
1.360962795159905%
6.46

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42625
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42625
  18 similar queries.   Duplicated 2 times.
3.432067387624506%
16.29

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42625
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42625 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
0.13481543244913027%
0.64

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 9279, 11961, 11962, 11963, 11964)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 9279, 11961, 11962, 11963, 11964) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.11517577742394028%
0.55

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 11959
SELECT ••• FROM "options" WHERE "options"."id" = 11959
  18 similar queries.   Duplicated 2 times.
2.7809952432855987%
13.20

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42624
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42624
  18 similar queries.   Duplicated 2 times.
2.288296071566702%
10.86

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42624
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42624 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
0.9253241045372124%
4.39

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 8 times.
0.738672037852798%
3.51

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 4267
SELECT ••• FROM "options" WHERE "options"."id" = 4267
  18 similar queries.   Duplicated 2 times.
0.8386785676613742%
3.98

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42654
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42654
  18 similar queries.   Duplicated 2 times.
0.8012075122936203%
3.80

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42654
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42654 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
1.4617227644195754%
6.94

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 8 times.
1.4512248414009954%
6.89

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 4285
SELECT ••• FROM "options" WHERE "options"."id" = 4285
  18 similar queries.   Duplicated 2 times.
0.3508516377262202%
1.67

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42655
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42655
  18 similar queries.   Duplicated 2 times.
2.414020001305962%
11.46

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42655
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42655 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
0.1871041303550709%
0.89

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 8 times.
0.5474491051650786%
2.60

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 6835
SELECT ••• FROM "options" WHERE "options"."id" = 6835
  18 similar queries.   Duplicated 2 times.
0.3508516377262202%
1.67

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42656
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42656
  18 similar queries.   Duplicated 2 times.
0.9684208411398032%
4.60

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42656
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42656 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
1.081939051771336%
5.14

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 8 times.
1.437160638313903%
6.82

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 7649
SELECT ••• FROM "options" WHERE "options"."id" = 7649
  18 similar queries.   Duplicated 2 times.
1.2455358712522666%
5.91

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 43203
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 43203
  18 similar queries.   Duplicated 2 times.
0.8592725793246169%
4.08

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 43203
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 43203 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
0.19725044829647342%
0.94

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48396, 48397, 48398, 42582, 42583, 42589, 42591)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48396, 48397, 48398, 42582, 42583, 42589, 42591) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 2 times.
2.8560880419113253%
13.56

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 6
SELECT ••• FROM "options" WHERE "options"."id" = 6
  18 similar queries.   Duplicated 2 times.
0.24220566887843%
1.15

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 57306
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 57306
  18 similar queries.   Duplicated 2 times.
0.2856037812614586%
1.36

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 56701
SELECT ••• FROM "options" WHERE "options"."id" = 56701
  18 similar queries.   Duplicated 2 times.
1.3646797631186365%
6.48

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"options_choices"
    ON
("choices"."id" = "options_choices"."choice_id")
 WHERE
"options_choices"."option_id" = 56701
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "options_choices" ON ("choices"."id" = "options_choices"."choice_id") WHERE "options_choices"."option_id" = 56701 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  2 similar queries.   Duplicated 2 times.
1.1395018258349365%
5.41

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 16588, 56702, 56703, 56704, 56708, 56706)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 16588, 56702, 56703, 56704, 56708, 56706) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.2039460135518643%
5.71

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42626
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42626
  18 similar queries.   Duplicated 2 times.
1.3795476349535631%
6.55

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 18049
SELECT ••• FROM "choices" WHERE "choices"."id" = 18049
  11 similar queries.   Duplicated 2 times.
0.19031880534640633%
0.90

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(492)
  result = [self.defaultchoice.id]
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 18049)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 18049) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  4 similar queries.   Duplicated 2 times.
0.11492463094024222%
0.55

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 18048
SELECT ••• FROM "options" WHERE "options"."id" = 18048
  18 similar queries.   Duplicated 2 times.
0.2000130596171523%
0.95

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.4329263085987533%
2.05

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(210)
  if product.image:
/home/joe/eracks12/web/apps/products/models.py in image(384)
  if imgs: return imgs [0]
  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.12306177701206006%
0.58

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(211)
  prod ['image'] = product.image.image  # property - JJW 5/27/19
/home/joe/eracks12/web/apps/products/models.py in image(384)
  if imgs: return imgs [0]
  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
0.12155489810987156%
0.58

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(443)
  photos_list = [str(t) for t in product_photos (product)]
  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.5656823398815594%
2.69

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in image(384)
  if imgs: return imgs [0]
229 <div class="photowrap col-6 xmlauto float-left">
230 <div class="xml-auto xphoto-wrapper xrow xalign-items-center notworking-float-right">
231 <noscript style="min-height: 300px;display:inline-block">
232 {{ product.image|safe }}
233 <div class="product-name">
234 {{ product.name }}
235 <a href="#photos">
236 More Photos

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
1.0183487620989817%
4.83

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py in render(166)
  len_values = len(values)
244 data-arrow-left-classes="fa fa-angle-left g-left-0"
245 data-arrow-right-classes="fa fa-angle-right g-right-0"
246 data-nav-for="#carousel-08-2">
247 {% for img in product.images.published %}
248 <div class="js-slide">
249 <a class="js-fancybox d-block g-pos-rel" href="javascript:;"
250 data-fancybox="lightbox-gallery--08-1"
251 data-src="{{ img.image.url }}"

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 42623 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
0.2760099855841918%
1.31

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py in render(166)
  len_values = len(values)
266 data-slides-show="4"
267 data-is-thumbs="true"
268 data-nav-for="#carousel-08-1">
269 {% for img in product.images.published %}
270 <div class="js-slide g-px-10">
271 <img class="img-fluid w-100" src="{{ img.image.url }}" alt="{{ img.image.alt }}" title="{{ img.image.title }}">
272 </div>
273 {% endfor %}

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "prodopts"."id",
       "prodopts"."name",
       "prodopts"."qty",
       "prodopts"."single",
       "prodopts"."required",
       "prodopts"."choices_orderby",
       "prodopts"."allowed_quantities",
       "prodopts"."productid",
       "prodopts"."optionid",
       "prodopts"."defaultchoiceid",
       "prodopts"."published",
       "prodopts"."created",
       "prodopts"."updated"
  FROM
"prodopts"
 INNER JOIN
"options"
    ON
("prodopts"."optionid" = "options"."id")
 WHERE
"prodopts"."productid" = 42623
 ORDER BY
"options"."sortorder" ASC
SELECT ••• FROM "prodopts" INNER JOIN "options" ON ("prodopts"."optionid" = "options"."id") WHERE "prodopts"."productid" = 42623 ORDER BY "options"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.277165259409203%
1.32

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 18849
SELECT ••• FROM "options" WHERE "options"."id" = 18849
  18 similar queries.   Duplicated 2 times.
0.12351384068271659%
0.59

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(540)
  .td (self.calc_name, cls=lineid, title=(self.option.blurb or self.calc_name + ' option'))
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 42586
SELECT ••• FROM "choices" WHERE "choices"."id" = 42586
  11 similar queries.   Duplicated 2 times.
0.08644461968887973%
0.41

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(505)
  if self.defaultchoice:
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42629
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42629
  18 similar queries.   Duplicated 2 times.
1.7097550317198011%
8.12

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 42586)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 42586) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  4 similar queries.   Duplicated 2 times.
0.9195979647088961%
4.36

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 11959
SELECT ••• FROM "options" WHERE "options"."id" = 11959
  18 similar queries.   Duplicated 2 times.
0.12868745824689706%
0.61

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(540)
  .td (self.calc_name, cls=lineid, title=(self.option.blurb or self.calc_name + ' option'))
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 9279
SELECT ••• FROM "choices" WHERE "choices"."id" = 9279
  11 similar queries.
0.09051319272478867%
0.43

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(505)
  if self.defaultchoice:
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42625
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42625
  18 similar queries.   Duplicated 2 times.
0.5298688513062129%
2.52

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42625
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42625 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
0.3159422764921868%
1.50

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 9279, 11961, 11962, 11963, 11964)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 9279, 11961, 11962, 11963, 11964) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.1458809465208677%
5.44

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 4267
SELECT ••• FROM "options" WHERE "options"."id" = 4267
  18 similar queries.   Duplicated 2 times.
0.5045030564527067%
2.39

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(540)
  .td (self.calc_name, cls=lineid, title=(self.option.blurb or self.calc_name + ' option'))
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 48245
SELECT ••• FROM "choices" WHERE "choices"."id" = 48245
  11 similar queries.   Duplicated 4 times.
0.14335441289486506%
0.68

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(505)
  if self.defaultchoice:
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42624
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42624
  18 similar queries.   Duplicated 2 times.
0.17258786359732178%
0.82

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42624
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42624 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
1.4251558363931347%
6.76

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 8 times.
1.1231270750978215%
5.33

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 4285
SELECT ••• FROM "options" WHERE "options"."id" = 4285
  18 similar queries.   Duplicated 2 times.
0.7854857424141205%
3.73

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(540)
  .td (self.calc_name, cls=lineid, title=(self.option.blurb or self.calc_name + ' option'))
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 48245
SELECT ••• FROM "choices" WHERE "choices"."id" = 48245
  11 similar queries.   Duplicated 4 times.
0.8988030358586949%
4.27

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(505)
  if self.defaultchoice:
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42654
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42654
  18 similar queries.   Duplicated 2 times.
0.3652674458904901%
1.73

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 42654
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 42654 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  12 similar queries.   Duplicated 2 times.
0.5564903785782095%
2.64

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 48245, 48244, 48243, 48174, 48242, 48806, 49187) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  10 similar queries.   Duplicated 8 times.
4.072742067538313%
19.33

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(541)
  .td (self.as_combos (lineid), cls=lineid + ' dropdowns')
/home/joe/eracks12/web/apps/products/models.py in as_combos(523)
  [(self.choice_name_and_price (c), '%s,%s' % (lineid, c.id)) for c in self.all_choices()],
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 6835
SELECT ••• FROM "options" WHERE "options"."id" = 6835
  18 similar queries.   Duplicated 2 times.
1.304153460547399%
6.19

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(987)
  output = self.filter_expression.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(671)
  obj = self.var.resolve(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in resolve(796)
  value = self._resolve_lookup(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in _resolve_lookup(837)
  current = getattr(current, bit)
/home/joe/eracks12/web/apps/products/models.py in prodopts_as_table(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in <listcomp>(427)
  return ''.join ([po.as_rows for po in self.product_options()])
/home/joe/eracks12/web/apps/products/models.py in as_rows(540)
  .td (self.calc_name, cls=lineid, title=(self.option.blurb or self.calc_name + ' option'))
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
355 </tr>
356 </thead>
357 <tbody>
358 {{ product.prodopts_as_table|safe }}
359 <tr>
360 <td>Notes</td>
361 <td><textarea id=notes name=notes placeholder="Enter Product notes or Quote details here"></textarea></td>
362 <td>Enter notes or custom instructions for this item here</td>

/home/joe/eracks12/web/apps/products/templates/product.html

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 48245
SELECT ••• FROM "choices" WHERE "choices"."id" = 48245
  11 similar queries.   Duplicated 4 times.
2.7178067879871612%
12.90

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(