eRacks/STUBBY

 

The eRacks/STUBBY is perfect for projects requiring shallow rackmount space, such as radio or other broadcast application, audio studio, and home theater. The Mini ITX motherboard supports an Intel Atom CPU, and the default configuration consists of
 

- 8.75in (D) x 19in (W) x 1.75in (H) 1U rackmount chassis, 140W PS
- Intel 1.6GHz Atom 230 533 MHz FSB Mini-ITX motherboard and CPU
- 1GB DDR2 memory
- 160 GB SATA II hard drive
- Slim CDROM drive
- Built-in Intel Graphics with GMA 950 Technology
- Onboard Realtek Audio and LAN
- 1 PCI slot is available.
- Quietization tip: Choose a Flash Drive if minimizing system noise is a priority.

The upgrade motherboard runs the 1.6GHz dual core Atom 330 processor and Intel 945GC chipset. Featuring characteristics well suited for both industrial and networking applications, it has 6 RS-232 COM support, a wide operating temperature range, watchdog timer, and wireless connectivity (via PCIe Mini Card slot). This mainboard is also fanless, making it quieter, and an excellent low-power option for home servers.

 


Configure eRacks/STUBBY

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: $ 795.00 As Configured: $ 795.00
Configuration Summary:
Default Configuration
Option Choices More Info Add/Subtract
ChassisSTUBBY 1U chassis 8.75in depth 140WPS
MotherboardATOM D525 1.8 Dual Core WIFI motherboard
Memory1GB SO-DIMM 204pin Memory
Slim Optical Drive BaySlimline CD ROM
Internal HD Bay500 GB SATA Hard Drive
PCInone
Rails and Bracketsnone
Operating SystemOpenBSD
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 4028.431 msec
System CPU time 678.095 msec
Total CPU time 4706.526 msec
Elapsed time 7992.262 msec
Context switches 10 voluntary, 1229 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 0x7fbbefbf88b0>
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
If-Modified-Since Sat, 04 Apr 2020 04:58:44 KST
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/shallow-depth/STUBBY/
QUERY_STRING
REMOTE_ADDR 172.18.0.2
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': 'shallow-depth', 'sku': 'STUBBY'} None

No cookies

Session data

Variable Value
'prod' {'baseoptions': '', 'baseprice': 795.0, 'blurb': '', 'category_id': 15984, 'comments': 'Cost updated from 306 to 500 per Robert - price changed to 795 ' 'JJW 11/27/13\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-01\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-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': 500.0, 'created': datetime.datetime(2011, 7, 8, 16, 31, 32, 522429), 'description': '<!-- BEGIN STUBBY PRODUCT CONTENT -->\r\n' '<div>\r\n' '<div style="float:right"><img alt="" ' 'src="/images/products/stubby/intel_atom.jpeg" ' 'style="height:123px; width:100px" title="" /></div>\r\n' '\r\n' '<p>&nbsp;</p>\r\n' '\r\n' '<div>The eRacks/STUBBY is perfect for projects requiring ' 'shallow rackmount space, such as radio or other broadcast ' 'application, audio studio, and home theater. The Mini ITX ' 'motherboard supports an Intel Atom CPU, and the default ' 'configuration consists of</div>\r\n' '\r\n' '<div style="float:right;">\r\n' '<div>&nbsp;</div>\r\n' '</div>\r\n' '\r\n' '<div>\r\n' '<p>- 8.75in (D) x 19in (W) x 1.75in (H) 1U rackmount chassis, ' '140W PS<br />\r\n' '- Intel 1.6GHz Atom 230 533 MHz FSB Mini-ITX motherboard and ' 'CPU<br />\r\n' '- 1GB DDR2 memory<br />\r\n' '- 160 GB SATA II hard drive<br />\r\n' '- Slim CDROM drive<br />\r\n' '- Built-in Intel Graphics with GMA 950 Technology<br />\r\n' '- Onboard Realtek Audio and LAN<br />\r\n' '- 1 PCI slot is available.<br />\r\n' '- Quietization tip: Choose a Flash Drive if minimizing system ' 'noise is a priority.</p>\r\n' '\r\n' '<p>The upgrade motherboard runs the 1.6GHz dual core Atom 330 ' 'processor and Intel 945GC chipset. Featuring characteristics ' 'well suited for both industrial and networking applications, ' 'it has 6 RS-232 COM support, a wide operating temperature ' 'range, watchdog timer, and wireless connectivity (via PCIe ' 'Mini Card slot). This mainboard is also fanless, making it ' 'quieter, and an excellent low-power option for home ' 'servers.</p>\r\n' '</div>\r\n' '\r\n' '<p>&nbsp;</p>\r\n' '</div>\r\n' '<!--END STUBBY PRODUCT CONTENT -->', 'features': '', 'id': 23829, 'image': <FileObject: images/products/stubby/stubby_open.jpeg>, 'link': '', 'meta_description': '', 'meta_keywords': '', 'meta_title': '', 'name': 'eRacks/STUBBY', 'notes': '', 'opts': OrderedDict([('23833_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655880>, '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)}, 20962: {'blurb': '', 'choicecategory_id': 43891, 'comment': None, 'cost': 145.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 20962, 'multiplier': None, 'name': 'STUBBY 1U chassis 8.75in ' 'depth 140WPS', 'price': None, 'published': True, 'sortorder': 144, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 38, 448500)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 20962, 'id': 23833, 'name': 'Chassis', 'option_id': 9, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 14, 1, 34, 409188)}), ('23831_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed6558e0>, '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)}, 40232: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'LEAF: ATOM D525 1.8 ' 'Dual Core Desktop ' 'Board D525MW Socket ' 'BGA', 'cost': 85.0, 'created': datetime.datetime(2008, 10, 28, 12, 53, 21, 647833), 'id': 40232, 'multiplier': None, 'name': 'ATOM D525 1.8 Dual Core ' 'Mini-ITX motherboard ', 'price': None, 'published': True, 'sortorder': 1310, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 34, 649227)}, 51388: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'LEAF: ZOTAC ION-ITX T ' 'Series [IONITX-T-U] ' 'ZOTAC Intel Atom D525 ' '1.8', 'cost': 205.0, 'created': datetime.datetime(2011, 12, 24, 10, 22, 40, 743967), 'id': 51388, 'multiplier': None, 'name': 'ATOM D525 1.8 Dual Core ' 'WIFI motherboard ', 'price': None, 'published': True, 'sortorder': 1310, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 35, 48995)}, 51389: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'LEAF: ASUS AT3IONT-I ' 'Deluxe Intel Atom 330 ' 'NVIDIA ION Mini ITX ' 'Motherboard/CPU ', 'cost': 160.0, 'created': datetime.datetime(2011, 12, 24, 10, 24, 3, 463194), 'id': 51389, 'multiplier': None, 'name': 'ATOM 330 NVIDIA ION ' '1.6Ghz Single Core WIFI ', 'price': None, 'published': True, 'sortorder': 1310, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 34, 759615)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 51388, 'id': 23831, 'name': 'Motherboard', 'option_id': 6520, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2011, 12, 26, 8, 43, 10, 72336)}), ('23836_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655d90>, '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)}, 1028: {'blurb': '', 'choicecategory_id': 43893, 'comment': 'LEAF', 'cost': 12.0, 'created': datetime.datetime(2001, 1, 29, 17, 0), 'id': 1028, 'multiplier': None, 'name': '1GB SO-DIMM 204pin Memory', 'price': 0.0, 'published': True, 'sortorder': 206, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 45, 484626)}, 51392: {'blurb': '', 'choicecategory_id': 43893, 'comment': 'LEAF', 'cost': 24.0, 'created': datetime.datetime(2011, 12, 24, 10, 31, 31, 123497), 'id': 51392, 'multiplier': None, 'name': '2GB SO-DIMM 204pin Memory', 'price': 0.0, 'published': True, 'sortorder': 206, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 45, 563852)}, 51393: {'blurb': '', 'choicecategory_id': 43893, 'comment': 'LEAF', 'cost': 60.0, 'created': datetime.datetime(2011, 12, 24, 10, 31, 45, 694371), 'id': 51393, 'multiplier': None, 'name': '4GB SO-DIMM 204pin Memory', 'price': 0.0, 'published': True, 'sortorder': 206, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 45, 659303)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 1028, 'id': 23836, 'name': 'Memory', 'option_id': 5, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2011, 12, 26, 8, 44, 0, 738297)}), ('23834_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655df0>, '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)}, 4663: {'blurb': '', 'choicecategory_id': 43894, 'comment': None, 'cost': 27.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4663, 'multiplier': None, 'name': 'Slimline CD ROM', 'price': None, 'published': True, 'sortorder': 400, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 1, 182063)}, 19247: {'blurb': '', 'choicecategory_id': 43895, 'comment': '', 'cost': 38.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 19247, 'multiplier': None, 'name': 'Slim DVD / CDRW', 'price': None, 'published': True, 'sortorder': 410, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 2, 575827)}, 34644: {'blurb': '', 'choicecategory_id': 43895, 'comment': '', 'cost': 46.0, 'created': datetime.datetime(2007, 4, 9, 0, 0), 'id': 34644, 'multiplier': None, 'name': 'Slim DVDRW', 'price': None, 'published': True, 'sortorder': 410, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 2, 692319)}, 44729: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'Sony ' 'OptoarcBD-5730S-1\r\n' 'Lowered 120->90 ' '2/18/15 JJW\r\n' 'Lots of new ones on ' 'google shopping', 'cost': 90.0, 'created': datetime.datetime(2010, 3, 6, 0, 0), 'id': 44729, 'multiplier': None, 'name': 'Slim BluRay Disc (BD) ' 'Burner', 'price': None, 'published': True, 'sortorder': 410, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 2, 805601)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 4663, 'id': 23834, 'name': 'Slim Optical Drive Bay', 'option_id': 4318, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2003, 8, 9, 0, 20, 59)}), ('23839_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655e50>, '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)}, 32411: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 66.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32411, 'multiplier': None, 'name': '250 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5104, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 666850)}, 32414: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 96.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32414, 'multiplier': None, 'name': '500 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5107, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 281561)}, 32415: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 120.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32415, 'multiplier': None, 'name': '750 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5109, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 449375)}, 39315: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW\r\n' 'SATA II => SATA\r\n' 'removed R 245 W 60 ' 'MB/s\r\n' '\r\n' 'Patroit Torqx2 ', 'cost': 111.0, 'created': datetime.datetime(2008, 9, 16, 10, 29, 27, 437241), 'id': 39315, 'multiplier': None, 'name': '32 GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4903, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 540611)}, 39316: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2 \r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' 'Was: 64 GB SATA2 2.5" ' 'SSD R 270 W 230 MB/s', 'cost': 80.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 11, 844488), 'id': 39316, 'multiplier': None, 'name': '64GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4905, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 88988)}, 39317: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' '128 GB SATA2 2.5" SSD ' 'R 270 W 230 MB/s', 'cost': 100.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 37, 620352), 'id': 39317, 'multiplier': None, 'name': '128GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4906, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 259484)}, 39338: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 234.0, 'created': datetime.datetime(2008, 9, 18, 12, 58, 23, 890431), 'id': 39338, 'multiplier': None, 'name': '2.5 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5114, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 733164)}, 41970: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 216.0, 'created': datetime.datetime(2009, 4, 2, 13, 57, 43, 261962), 'id': 41970, 'multiplier': None, 'name': '2 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5113, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 569224)}, 42847: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 130.0, 'created': datetime.datetime(2009, 6, 9, 10, 35, 40, 117317), 'id': 42847, 'multiplier': None, 'name': '256GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4907, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 426817)}, 42848: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'SSDNow Vseries V+ ' 'Kingston\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 200.0, 'created': datetime.datetime(2009, 6, 9, 10, 36, 17, 486904), 'id': 42848, 'multiplier': None, 'name': '512GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4908, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 719442)}, 47365: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 252.0, 'created': datetime.datetime(2010, 10, 20, 11, 39, 54, 613216), 'id': 47365, 'multiplier': None, 'name': '3 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5115, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 675053)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2010, 3, 25, 14, 58, 24, 406192), 'defaultchoice_id': 32414, 'id': 23839, 'name': 'Internal HD Bay', 'option_id': 2, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2014, 12, 27, 21, 34, 7, 705614)}), ('23832_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655eb0>, 'allowed_quantities': '', 'choices': {19: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Dlink DFE 530TX $9 ' '4/21/2004', 'cost': 20.0, 'created': datetime.datetime(2001, 1, 10, 16, 43, 43), 'id': 19, 'multiplier': None, 'name': 'Single port GbE Network card', 'price': 0.0, 'published': True, 'sortorder': 610, 'source': '', 'updated': datetime.datetime(2015, 11, 18, 13, 44, 58, 43611)}, 20: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Intel Pro/100 $25 ' '4/21/2004', 'cost': 27.0, 'created': datetime.datetime(2001, 1, 10, 16, 44, 22), 'id': 20, 'multiplier': None, 'name': 'Single-port Intel GbE ' 'Network card', 'price': 0.0, 'published': True, 'sortorder': 612, 'source': '', 'updated': datetime.datetime(2015, 11, 18, 13, 44, 58, 105200)}, 22: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Microtik Routerboard/24 ' 'quadport NIC $86 per ' 'quantity 10 4/21/2004', 'cost': 375.0, 'created': datetime.datetime(2001, 1, 10, 16, 45, 9), 'id': 22, 'multiplier': None, 'name': '4 port Network card GbE', 'price': 0.0, 'published': True, 'sortorder': 614, 'source': '', 'updated': datetime.datetime(2015, 11, 18, 13, 44, 58, 182829)}, 25: {'blurb': '', 'choicecategory_id': 43909, 'comment': '', 'cost': 290.0, 'created': datetime.datetime(2001, 1, 10, 16, 46, 2), 'id': 25, 'multiplier': None, 'name': 'IPMI-capable motherboard', 'price': 0.0, 'published': True, 'sortorder': 800, 'source': '', 'updated': datetime.datetime(2016, 9, 1, 12, 7, 41, 568375)}, 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)}, 6587: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Netgear GA622TNA $111 ' '4/21/2004', 'cost': 20.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6587, 'multiplier': None, 'name': 'Netgear GbE Network ' 'adapter - PCI', 'price': None, 'published': True, 'sortorder': 722, 'source': '', 'updated': datetime.datetime(2015, 11, 18, 13, 44, 58, 243711)}, 11291: {'blurb': '', 'choicecategory_id': 57595, 'comment': None, 'cost': 25.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11291, 'multiplier': None, 'name': 'External HD68 SCSI ' 'connector', 'price': None, 'published': True, 'sortorder': 640, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 40, 16, 86675)}, 12149: {'blurb': '', 'choicecategory_id': 57595, 'comment': None, 'cost': 19.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12149, 'multiplier': None, 'name': 'Ribbon-cable riser for ' 'AMD motherboard', 'price': None, 'published': True, 'sortorder': 650, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 40, 16, 89712)}, 21717: {'blurb': '', 'choicecategory_id': 43905, 'comment': None, 'cost': 369.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 21717, 'multiplier': None, 'name': 'Tascam PCI822 audio midi ' 'PCI (win)', 'price': None, 'published': True, 'sortorder': 1924, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 15, 596150)}, 36914: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'really can get it for ' '$30, but Max asked it ' 'to be listed at $55 ' '1/21/2008.', 'cost': 55.0, 'created': datetime.datetime(2008, 1, 21, 0, 0), 'id': 36914, 'multiplier': None, 'name': 'Wireless a/b/g/n/ac PCI ' 'card', 'price': None, 'published': True, 'sortorder': 799, 'source': '', 'updated': datetime.datetime(2015, 11, 18, 13, 44, 58, 303580)}, 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(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 30, 'id': 23832, 'name': 'PCI', 'option_id': 6, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2003, 8, 9, 0, 20, 59)}), ('23837_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655f10>, '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)}, 15756: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 39.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15756, 'multiplier': None, 'name': 'Sliding Rails for 1U ' 'chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 920928)}, 15761: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 12.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15761, 'multiplier': None, 'name': 'Center Mount Brackets for ' '1U chassis', 'price': None, 'published': True, 'sortorder': 1161, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 148911)}, 15762: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 12.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15762, 'multiplier': None, 'name': 'Rear Mount Brackets for ' '1U chassis', 'price': None, 'published': True, 'sortorder': 1161, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 188544)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 30, 'id': 23837, 'name': 'Rails and Brackets', 'option_id': 15765, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2003, 8, 9, 0, 20, 59)}), ('23838_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655f70>, 'allowed_quantities': '', 'choices': {23: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 8, 26, 16, 45, 22), 'id': 23, 'multiplier': 0, 'name': 'OpenBSD Legacy', 'price': 0.0, 'published': True, 'sortorder': 642, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 9, 38, 961577)}, 1075: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2003, 1, 23, 10, 30), 'id': 1075, 'multiplier': 0, 'name': 'Ubuntu Linux 19.04 Server ' 'Edition', 'price': 0.0, 'published': True, 'sortorder': 2103, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 855239)}, 4469: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4469, 'multiplier': 1, 'name': 'OpenMandriva Linux', 'price': 0.0, 'published': True, 'sortorder': 1501, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 52, 22, 288849)}, 4470: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4470, 'multiplier': 1, 'name': 'OpenSUSE', 'price': 0.0, 'published': True, 'sortorder': 1511, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 777812)}, 7946: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 7946, 'multiplier': 0, 'name': 'LRP-based firewall', 'price': None, 'published': True, 'sortorder': 1201, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 19, 36, 199087)}, 7947: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 7947, 'multiplier': 0, 'name': 'Mini OpenBSD-based ' 'firewall', 'price': None, 'published': True, 'sortorder': 643, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 9, 53, 99097)}, 8259: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 8, 26, 0, 0), 'id': 8259, 'multiplier': 1, 'name': 'NetBSD', 'price': 0.0, 'published': True, 'sortorder': 631, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 561838)}, 8260: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 8260, 'multiplier': 1, 'name': 'OpenBSD', 'price': None, 'published': True, 'sortorder': 641, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 645735)}, 8261: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 8, 26, 0, 0), 'id': 8261, 'multiplier': 1, 'name': 'FreeBSD legacy', 'price': 0.0, 'published': True, 'sortorder': 621, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 434510)}, 9190: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9190, 'multiplier': 1, 'name': 'FreeBSD production', 'price': 0.0, 'published': True, 'sortorder': 622, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 507928)}, 12160: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12160, 'multiplier': 1, 'name': 'Debian Linux - testing', 'price': None, 'published': True, 'sortorder': 402, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 343234)}, 12161: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12161, 'multiplier': 1, 'name': 'Debian Linux - stable', 'price': None, 'published': True, 'sortorder': 403, 'source': '', 'updated': datetime.datetime(2018, 2, 12, 15, 7, 56, 272282)}, 12385: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12385, 'multiplier': 0, 'name': 'Lycoris (Redmond) Linux', 'price': None, 'published': True, 'sortorder': 1211, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 20, 49, 103625)}, 12386: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12386, 'multiplier': 0, 'name': 'ELX Linux', 'price': None, 'published': True, 'sortorder': 501, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 36, 25, 436042)}, 13079: {'blurb': '', 'choicecategory_id': 43898, 'comment': '$50 additional cost - ' 'for MS netbooks, ' 'laptops, desktops', 'cost': 35.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13079, 'multiplier': 0, 'name': 'Dual Boot operating ' 'systems (specify in ' 'NOTES)', 'price': None, 'published': True, 'sortorder': 411, 'source': '', 'updated': datetime.datetime(2020, 2, 12, 6, 22, 8, 191886)}, 13494: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13494, 'multiplier': 0, 'name': 'icepack Linux', 'price': None, 'published': True, 'sortorder': 901, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 17, 33, 128960)}, 14512: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 14512, 'multiplier': 0, 'name': 'No OS - Windows - Ready', 'price': None, 'published': True, 'sortorder': 2702, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 5, 2, 566374)}, 14513: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 14513, 'multiplier': 0, 'name': 'No OS - (tested with ' 'Ubuntu)', 'price': None, 'published': True, 'sortorder': 2701, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 4, 35, 279480)}, 16595: {'blurb': '', 'choicecategory_id': 43898, 'comment': '349$online per server ' 'per year (July 27.06) ' 'novell.com/linux ', 'cost': 256.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 16595, 'multiplier': 0, 'name': 'Novell SUSE Linux ' 'Enterprise Server', 'price': None, 'published': True, 'sortorder': 1401, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 32, 53, 780782)}, 18857: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 139.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18857, 'multiplier': 0, 'name': 'MS Windows Professional', 'price': None, 'published': True, 'sortorder': 1321, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 31, 4, 627795)}, 21758: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 180.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 21758, 'multiplier': 0, 'name': 'Red Hat&reg; Linux ' 'Enterprise Workstation', 'price': None, 'published': True, 'sortorder': 1802, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 41, 29, 387468)}, 23926: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 448.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 23926, 'multiplier': 0, 'name': 'Red Hat&reg; Linux ' 'Advanced Server AMD64 (as ' 'ava', 'price': None, 'published': True, 'sortorder': 1803, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 41, 55, 659347)}, 26557: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2005, 3, 2, 0, 0), 'id': 26557, 'multiplier': 0, 'name': 'Gentoo Linux ', 'price': None, 'published': True, 'sortorder': 701, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 16, 23, 719364)}, 26565: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 26565, 'multiplier': 0, 'name': 'SuSE Linux AMD64 ' '(download edition)', 'price': None, 'published': True, 'sortorder': 1901, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 35, 4, 220929)}, 28768: {'blurb': '', 'choicecategory_id': 43898, 'comment': '50$ per system per ' 'year ' 'novell.om/products/desktop', 'cost': 34.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 28768, 'multiplier': 0, 'name': 'Novell SUSE Linux ' 'Enterprise Desktop', 'price': None, 'published': True, 'sortorder': 1402, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 33, 8, 708159)}, 31147: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31147, 'multiplier': 1, 'name': 'Customer-provided custom ' 'Linux OS + software', 'price': None, 'published': True, 'sortorder': 1, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 42, 27, 429672)}, 31725: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 31725, 'multiplier': 1, 'name': 'CentOS Linux 6', 'price': None, 'published': True, 'sortorder': 302, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 44, 14, 613274)}, 31730: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 350.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 31730, 'multiplier': 0, 'name': 'Red Hat&reg; Linux ' 'Enterprise ES', 'price': None, 'published': True, 'sortorder': 1801, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 40, 59, 292673)}, 31809: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 31809, 'multiplier': 1, 'name': 'Debian Linux - ' 'development', 'price': None, 'published': True, 'sortorder': 401, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 113761)}, 32432: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 16.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32432, 'multiplier': 0, 'name': 'Freespire Linux 5.0 (1 ' 'Copy)', 'price': None, 'published': True, 'sortorder': 661, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 18, 15, 44, 848088)}, 32446: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32446, 'multiplier': 0, 'name': 'SimplyMEPIS Linux', 'price': None, 'published': True, 'sortorder': 1921, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 38, 12, 103646)}, 32940: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32940, 'multiplier': 0, 'name': 'Ubuntu Linux 18.04 LTS ' 'Server Edition', 'price': None, 'published': True, 'sortorder': 2101, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 7, 49, 11, 645682)}, 35522: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2007, 8, 30, 0, 0), 'id': 35522, 'multiplier': 0, 'name': 'Ubuntu Linux 19.04 ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2104, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 921925)}, 35523: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2007, 8, 30, 0, 0), 'id': 35523, 'multiplier': 0, 'name': 'Ubuntu Linux 18.04 LTS ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2102, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 7, 49, 19, 983081)}, 37587: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 3, 10, 1, 0), 'id': 37587, 'multiplier': 0, 'name': 'Zonbu OS', 'price': None, 'published': True, 'sortorder': 2601, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 39, 35, 94281)}, 38352: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 5, 5, 0, 0), 'id': 38352, 'multiplier': 0, 'name': 'Puppy Linux ', 'price': None, 'published': True, 'sortorder': 1602, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 23, 44, 56179)}, 38353: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 5, 5, 0, 0), 'id': 38353, 'multiplier': 0, 'name': 'PCLinuxOS', 'price': None, 'published': True, 'sortorder': 1601, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 22, 54, 663202)}, 41887: {'blurb': '', 'choicecategory_id': 43898, 'comment': 'JJW July 3, 2020', 'cost': 0.0, 'created': datetime.datetime(2009, 3, 17, 14, 41, 17, 900605), 'id': 41887, 'multiplier': 0, 'name': 'Linux Mint 20 latest ' '"Ulyana"', 'price': None, 'published': True, 'sortorder': 1221, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 52, 19, 790543)}, 50022: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2011, 9, 28, 0, 0), 'id': 50022, 'multiplier': 1, 'name': 'CentOS Linux 7', 'price': None, 'published': True, 'sortorder': 301, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 43, 55, 935585)}, 56893: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2015, 6, 22, 14, 32, 10, 286481), 'id': 56893, 'multiplier': 1, 'name': 'PC-BSD', 'price': None, 'published': True, 'sortorder': 651, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 737128)}, 58975: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2016, 10, 14, 13, 43, 3, 529273), 'id': 58975, 'multiplier': 0, 'name': 'TrueOS Desktop', 'price': None, 'published': True, 'sortorder': 2002, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 55, 54, 98510)}, 58976: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2016, 10, 14, 13, 45, 2, 154268), 'id': 58976, 'multiplier': 0, 'name': 'TrueOS Server', 'price': None, 'published': True, 'sortorder': 2001, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 55, 14, 194436)}, 58991: {'blurb': '', 'choicecategory_id': 43898, 'comment': 'cloned from ' 'Mandriva->OpenMarndriva ' 'may 20, 2017 JJW', 'cost': 0.0, 'created': datetime.datetime(2017, 5, 20, 13, 13, 51, 964687), 'id': 58991, 'multiplier': 0, 'name': 'Mageia Linux', 'price': 0.0, 'published': True, 'sortorder': 1301, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 28, 38, 191097)}, 59189: {'blurb': '', 'choicecategory_id': 43898, 'comment': '03 May 2019, Asif.\r\n' 'Jul 3 2020 JJW', 'cost': 0.0, 'created': datetime.datetime(2018, 1, 10, 13, 26, 9, 613766), 'id': 59189, 'multiplier': 1, 'name': 'Fedora Linux 32 Server ' 'Edition', 'price': None, 'published': True, 'sortorder': 595, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 47, 58, 497619)}, 59193: {'blurb': '', 'choicecategory_id': 43898, 'comment': '29 APR 2019,\r\nAsif', 'cost': 0.0, 'created': datetime.datetime(2018, 1, 10, 13, 40, 31, 908781), 'id': 59193, 'multiplier': 0, 'name': 'Fedora Linux 29 Server ' 'Edition', 'price': None, 'published': False, 'sortorder': 598, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 11, 54, 22, 304175)}, 59486: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2018, 4, 29, 9, 25, 14, 880664), 'id': 59486, 'multiplier': 0, 'name': 'Ubuntu Linux 20.04 LTS ' 'Server Edition', 'price': None, 'published': True, 'sortorder': 2107, 'source': '', 'updated': datetime.datetime(2020, 5, 3, 0, 59, 13, 782820)}, 59487: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2018, 4, 29, 9, 28, 49, 272316), 'id': 59487, 'multiplier': 0, 'name': 'Ubuntu Linux 20.04 LTS ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2108, 'source': '', 'updated': datetime.datetime(2020, 5, 3, 0, 59, 13, 858258)}, 59493: {'blurb': '', 'choicecategory_id': 43898, 'comment': '03 May 2019, Asif.\r\n' 'Jul 3 2020 JJW', 'cost': 0.0, 'created': datetime.datetime(2018, 6, 23, 10, 5, 12, 687437), 'id': 59493, 'multiplier': 1, 'name': 'Fedora Linux 32 ' 'Workstation Edition', 'price': None, 'published': True, 'sortorder': 596, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 47, 58, 550093)}, 59495: {'blurb': '', 'choicecategory_id': 43898, 'comment': '29 APR 2019,\r\nAsif', 'cost': 0.0, 'created': datetime.datetime(2018, 6, 23, 10, 6, 52, 4463), 'id': 59495, 'multiplier': 0, 'name': 'Fedora Linux 29 ' 'Workstation Edition', 'price': None, 'published': False, 'sortorder': 599, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 11, 54, 5, 904645)}, 59496: {'blurb': '', 'choicecategory_id': 43898, 'comment': '29 APR 2019,\r\nAsif', 'cost': 0.0, 'created': datetime.datetime(2018, 6, 23, 10, 7, 19, 535706), 'id': 59496, 'multiplier': 0, 'name': 'Fedora Linux 29 Atomic ' 'Edition', 'price': None, 'published': False, 'sortorder': 600, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 11, 53, 47, 34730)}, 59707: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 355.0, 'created': datetime.datetime(2019, 5, 22, 16, 47, 18, 465905), 'id': 59707, 'multiplier': 0, 'name': 'Red Hat Enterprise Linux ' '8 Server', 'price': None, 'published': True, 'sortorder': 1806, 'source': '', 'updated': datetime.datetime(2019, 5, 22, 16, 52, 58, 26359)}, 59708: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 305.0, 'created': datetime.datetime(2019, 5, 22, 16, 49, 7, 142809), 'id': 59708, 'multiplier': 0, 'name': 'Red Hat Enterprise Linux ' '8 Developer Workstation', 'price': None, 'published': True, 'sortorder': 1805, 'source': '', 'updated': datetime.datetime(2019, 5, 22, 16, 53, 12, 251397)}, 59709: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 8100.0, 'created': datetime.datetime(2019, 5, 22, 16, 50, 29, 305900), 'id': 59709, 'multiplier': 0, 'name': 'Red Hat JBoss Enterprise ' '8 Application Platform', 'price': None, 'published': True, 'sortorder': 1807, 'source': '', 'updated': datetime.datetime(2019, 5, 22, 16, 50, 29, 305924)}, 59716: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 3, 14, 655104), 'id': 59716, 'multiplier': 0, 'name': 'Ubuntu Linux 19.10 Server ' 'Edition', 'price': 0.0, 'published': True, 'sortorder': 2105, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 3, 14, 655124)}, 59717: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 3, 32, 382968), 'id': 59717, 'multiplier': 0, 'name': 'Ubuntu Linux 19.10 ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2106, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 3, 32, 382990)}, 59718: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct. 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 52, 38, 996607), 'id': 59718, 'multiplier': 1, 'name': 'Fedora Linux 31 Server ' 'Edition', 'price': None, 'published': True, 'sortorder': 592, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 52, 38, 996630)}, 59719: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct. 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 52, 49, 960822), 'id': 59719, 'multiplier': 1, 'name': 'Fedora Linux 31 ' 'Workstation Edition', 'price': None, 'published': True, 'sortorder': 593, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 52, 49, 960844)}, 59721: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct. 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 55, 23, 554117), 'id': 59721, 'multiplier': 1, 'name': 'CentOS Linux 8', 'price': None, 'published': True, 'sortorder': 300, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 55, 23, 554140)}, 59722: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 16.0, 'created': datetime.datetime(2019, 11, 10, 17, 59, 45, 876380), 'id': 59722, 'multiplier': 0, 'name': 'Freespire Linux 4.0 (1 ' 'Copy)', 'price': None, 'published': True, 'sortorder': 662, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 18, 15, 26, 162692)}, 59723: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 16.0, 'created': datetime.datetime(2019, 11, 10, 18, 0, 2, 558399), 'id': 59723, 'multiplier': 0, 'name': 'Freespire Linux 3.0 (1 ' 'Copy)', 'price': None, 'published': True, 'sortorder': 663, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 18, 15, 4, 840706)}, 59724: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 18, 2, 17, 934562), 'id': 59724, 'multiplier': 0, 'name': 'Linux Mint 19 latest', 'price': None, 'published': True, 'sortorder': 1220, 'source': '', 'updated': datetime.datetime(2020, 2, 12, 6, 22, 8, 283115)}, 59725: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 18, 2, 40, 375152), 'id': 59725, 'multiplier': 0, 'name': 'Linux Mint 19.3 "Tricia"', 'price': None, 'published': True, 'sortorder': 1219, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 45, 14, 795217)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 8260, 'id': 23838, 'name': 'Operating System', 'option_id': 7, 'product_id': 23829, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 7, 19, 11, 46, 55, 990679)}), ('23841_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed655fd0>, '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)}, 18051: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 100.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18051, 'multiplier': None, 'name': 'Extended 2yr full / 3yr ' 'limited warranty', 'price': None, 'published': True, 'sortorder': 9002, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 551220)}, 18052: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18052, 'multiplier': None, 'name': 'Premium full 3yr warranty', 'price': None, 'published': True, 'sortorder': 9003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 596260)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2003, 8, 9, 0, 20, 59), 'defaultchoice_id': 18049, 'id': 23841, 'name': 'Warranty', 'option_id': 18048, 'product_id': 23829, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2003, 8, 9, 0, 20, 59)})]), 'published': True, 'qty': 1, 'sku': 'STUBBY', 'sortorder': 0, 'summary': '', 'title': 'Short-Depth 1U System', 'totprice': 795.0, 'updated': datetime.datetime(2015, 10, 16, 19, 32, 34, 728608), 'weight': 40}

No GET data

No POST data

SQL queries from 1 connection

  •   default 259.33 ms (90 queries including 88 similar and 82 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('STUBBY')
 ORDER BY
"products"."sortorder" ASC, "products"."sku" ASC
SELECT ••• FROM "products" WHERE UPPER("products"."sku"::text) = UPPER('STUBBY') ORDER BY "products"."sortorder" ASC, "products"."sku" ASC
4.012161519840617%
10.40

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(202)
  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" = 15984
SELECT ••• FROM "categories" WHERE "categories"."id" = 15984
3.3799059109509764%
8.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(202)
  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" = 23829
 ORDER BY
"options"."sortorder" ASC
SELECT ••• FROM "prodopts" INNER JOIN "options" ON ("prodopts"."optionid" = "options"."id") WHERE "prodopts"."productid" = 23829 ORDER BY "options"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.650833461279975%
4.28

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(202)
  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" = 23833
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23833
  18 similar queries.   Duplicated 2 times.
0.7046105840526693%
1.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(202)
  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" = 20962
SELECT ••• FROM "choices" WHERE "choices"."id" = 20962
  10 similar queries.   Duplicated 2 times.
0.33603231794265476%
0.87

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(202)
  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, 20962)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 20962) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.3011879271081086%
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(202)
  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" = 9
SELECT ••• FROM "options" WHERE "options"."id" = 9
  18 similar queries.   Duplicated 2 times.
2.282721319342866%
5.92

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(202)
  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" = 23831
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23831
  18 similar queries.   Duplicated 2 times.
0.31718508807172613%
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(202)
  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" = 23831
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23831 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
2.967381421044357%
7.70

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(202)
  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, 40232, 51389, 51388)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 40232, 51389, 51388) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
0.23968160133419997%
0.62

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(202)
  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" = 6520
SELECT ••• FROM "options" WHERE "options"."id" = 6520
  18 similar queries.   Duplicated 2 times.
2.1597086677950488%
5.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(202)
  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" = 23836
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23836
  18 similar queries.   Duplicated 2 times.
0.26671128710031233%
0.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(202)
  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" = 23836
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23836 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
0.26533222150000046%
0.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(202)
  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, 1028, 51392, 51393)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 1028, 51392, 51393) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
0.45306901855578735%
1.17

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(202)
  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" = 5
SELECT ••• FROM "options" WHERE "options"."id" = 5
  18 similar queries.   Duplicated 2 times.
0.19242562009684716%
0.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(202)
  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" = 23834
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23834
  18 similar queries.   Duplicated 2 times.
1.85383191764588%
4.81

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(202)
  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" = 23834
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23834 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
0.22350056495720758%
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(202)
  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, 4663, 19247, 34644, 44729)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 4663, 19247, 34644, 44729) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.1855302920952879%
0.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(202)
  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" = 4318
SELECT ••• FROM "options" WHERE "options"."id" = 4318
  18 similar queries.   Duplicated 2 times.
0.1608909867030495%
0.42

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(202)
  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" = 23839
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23839
  18 similar queries.   Duplicated 2 times.
2.3924949411276897%
6.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(202)
  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" = 23839
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23839 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
0.21393904346171205%
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(202)
  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, 39315, 39316, 39317, 42847, 42848, 32411, 32414, 32415, 41970, 39338, 47365)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 39315, 39316, 39317, 42847, 42848, 32411, 32414, 32415, 41970, 39338, 47365) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.0646386434407502%
2.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(202)
  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" = 2
SELECT ••• FROM "options" WHERE "options"."id" = 2
  18 similar queries.   Duplicated 2 times.
0.14011306499168424%
0.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(202)
  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" = 23832
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23832
  18 similar queries.   Duplicated 2 times.
2.084687499138084%
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(202)
  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" = 23832
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23832 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
0.2165132992489609%
0.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(202)
  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, 19, 48396, 48397, 48398, 20, 22, 11291, 12149, 6587, 36914, 25, 21717)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 19, 48396, 48397, 48398, 20, 22, 11291, 12149, 6587, 36914, 25, 21717) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.18994330201628584%
0.49

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(202)
  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.13671136984424834%
0.35

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(202)
  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" = 23837
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23837
  18 similar queries.   Duplicated 2 times.
0.21991499439639678%
0.57

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(202)
  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" = 23837
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23837 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
1.4048081581843406%
3.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(202)
  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, 15756, 15761, 15762)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 15756, 15761, 15762) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
0.16098292440973694%
0.42

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(202)
  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" = 15765
SELECT ••• FROM "options" WHERE "options"."id" = 15765
  18 similar queries.   Duplicated 2 times.
0.1348726157104992%
0.35

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(202)
  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" = 23838
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23838
  18 similar queries.   Duplicated 2 times.
0.18782873476247433%
0.49

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(202)
  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" = 7
SELECT ••• FROM "options" WHERE "options"."id" = 7
  18 similar queries.   Duplicated 2 times.
5.261594953723155%
13.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(202)
  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" = 7
 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" = 7 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  2 similar queries.   Duplicated 2 times.
0.9665411104052338%
2.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(202)
  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 (31147, 59721, 50022, 31725, 31809, 12160, 12161, 13079, 12386, 59718, 59719, 59189, 59493, 59193, 59495, 59496, 8261, 9190, 8259, 8260, 23, 7947, 56893, 32432, 59722, 59723, 26557, 13494, 7946, 12385, 59725, 59724, 41887, 58991, 18857, 16595, 28768, 4469, 4470, 38353, 38352, 31730, 21758, 23926, 59708, 59707, 59709, 26565, 32446, 58976, 58975, 32940, 35523, 1075, 35522, 59716, 59717, 59486, 59487, 37587, 14513, 14512)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (31147, 59721, 50022, 31725, 31809, 12160, 12161, 13079, 12386, 59718, 59719, 59189, 59493, 59193, 59495, 59496, 8261, 9190, 8259, 8260, 23, 7947, 56893, 32432, 59722, 59723, 26557, 13494, 7946, 12385, 59725, 59724, 41887, 58991, 18857, 16595, 28768, 4469, 4470, 38353, 38352, 31730, 21758, 23926, 59708, 59707, 59709, 26565, 32446, 58976, 58975, 32940, 35523, 1075, 35522, 59716, 59717, 59486, 59487, 37587, 14513, 14512) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
2.1321273557888114%
5.53

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(202)
  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" = 23841
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23841
  18 similar queries.   Duplicated 2 times.
0.21007765978083892%
0.54

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(202)
  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" = 23841
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23841 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
1.8557626094863162%
4.81

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(202)
  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, 18049, 18051, 18052)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 18049, 18051, 18052) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
1.0755792305365577%
2.79

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(202)
  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.12944829101593924%
0.34

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(202)
  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" = 23829 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 23829 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
1.6998362589443896%
4.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(202)
  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" = 23829 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 23829 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
1.8398573862293863%
4.77

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(202)
  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" = 23829 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 23829 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
2.0938812698068294%
5.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(202)
  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" = 23829 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 23829 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.17550908206635513%
0.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(202)
  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" = 23829 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 23829 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
0.27939869062318134%
0.72

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(202)
  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" = 23829 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 23829 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
1.9947724219977512%
5.17

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(202)
  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" = 23829
 ORDER BY
"options"."sortorder" ASC
SELECT ••• FROM "prodopts" INNER JOIN "options" ON ("prodopts"."optionid" = "options"."id") WHERE "prodopts"."productid" = 23829 ORDER BY "options"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.8941925708816734%
4.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(202)
  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" = 9
SELECT ••• FROM "options" WHERE "options"."id" = 9
  18 similar queries.   Duplicated 2 times.
1.1838818490143819%
3.07

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(202)
  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" = 20962
SELECT ••• FROM "choices" WHERE "choices"."id" = 20962
  10 similar queries.   Duplicated 2 times.
5.949932563692144%
15.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(202)
  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" = 23833
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23833
  18 similar queries.   Duplicated 2 times.
0.23342983727945293%
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(202)
  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, 20962)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 20962) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.23664765701351392%
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(202)
  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" = 6520
SELECT ••• FROM "options" WHERE "options"."id" = 6520
  18 similar queries.   Duplicated 2 times.
0.13671136984424834%
0.35

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(202)
  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" = 51388
SELECT ••• FROM "choices" WHERE "choices"."id" = 51388
  10 similar queries.
0.177899462440229%
0.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(202)
  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" = 23831
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23831
  18 similar queries.   Duplicated 2 times.
2.2951329097456727%
5.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(202)
  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" = 23831
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23831 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
0.1961950660710329%
0.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(202)
  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, 40232, 51389, 51388)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 40232, 51389, 51388) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
1.9302321519031564%
5.01

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(202)
  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" = 5
SELECT ••• FROM "options" WHERE "options"."id" = 5
  18 similar queries.   Duplicated 2 times.
2.239786410319824%
5.81

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(202)
  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" = 1028
SELECT ••• FROM "choices" WHERE "choices"."id" = 1028
  10 similar queries.
0.17229126233229414%
0.45

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(202)
  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" = 23836
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23836
  18 similar queries.   Duplicated 2 times.
1.6228843984469883%
4.21

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(202)
  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" = 23836
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23836 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  14 similar queries.   Duplicated 2 times.
0.21945530586295947%
0.57

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(202)
  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, 1028, 51392, 51393)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 1028, 51392, 51393) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
0.17872690180041612%
0.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(202)
  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" = 4318
SELECT ••• FROM "options" WHERE "options"."id" = 4318
  18 similar queries.   Duplicated 2 times.
1.8606353079407518%
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(202)
  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" = 4663
SELECT ••• FROM "choices" WHERE "choices"."id" = 4663
  10 similar queries.
1.7164769838548193%
4.45

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(202)
  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" = 23834
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 23834
  18 similar queries.   Duplicated 2 times.
0.23379758810620274%
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(202)
  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>