eRacks/TWINGUARD.PRO

The eRacks/TWINGUARD.PRO is designed for absolute security. In the event of a firewall failure, the secondary firewall automatically assumes the role of the primary and all network traffic flows uninterrupted. Optional installation available of pfw, the web frontend for the pf firewall in OpenBSD.

The eRacks/TWINGUARD.PRO is a 1U system with 19.1 x 29.5 x 1.7-inch Dimensions, fully-redundant secure OpenBSD-based firewall server. This system comes with:33.5 lbs. or 15.2kg Gross Weight.

eRacks/TWINGUARD.PRO is simply two hot-swappable systems in a single 1U chassis and designed to provide double firewall security. While each internal system supports dual- Support Intel Xeon E5-2600 v4/ v3 Family Processors with up to 2TB high frequency DDR4 ECC/REG memory in 16 DIMM slots.

For te Data storage each system Node support 4x SATA 6Gb/s 2.5-inch SSD drives with RAID 0, 1, 5 or 10 arrays for data protection security. For connectivity and management 2x Serial Ports (1 rear, 1 via header), 2x RJ45 LAN Ports, 1x RJ45 Dedicated IPMI LAN Port are included. As well as 2x USB 3.0 Ports, 1x VGA Port, 1x PCI-Express 3.0 x16 Slot (Low-profile) provided. For keeping the system cool, 3x Heavy-Duty Counter Rotating Fans w/ Air Shroud are included too.

For running the system smoothly, 1000W 80 PLUS Redundant Titanium Level (96%) AC-DC Power Supplies are added with each system node.

This system comes with failover capability, highly suitable for small offices and homes. Common Address Redundancy Protocol (CARP) is installed and configured on request. Web-based remote administration can also be installed free of charge, on request. Please state requests in the Notes field of your order.

Don't allow your firewall system to be a single point of failure!

In the event of a firewall failure, the secondary firewall automatically assumes the role of the primary and all network traffic flows uninterrupted. Optional installation available of pfw, the web frontend for the pf firewall in OpenBSD.

As always, these systems come with Standard 1yr full /3yr limited warranty.

Note: For orders with your desired configuration, use the Quote request button, eMail us, use the contact form, call us, or simply write in your request in the ‘Notes’ field when you place your order.


Features & Specifications

  • System Chassis: 1U Rackmount Chassis with up to 4x Hot-swap 2.5-inch Solid State Drive or SAS Drives support for each node.
  • Power Supply: eRacks/1000W Redundant Platinum Power Supply support for each node.
  • System Motherboard: eRacks-certified Dual-Node TWINGUARD.PRO Motherboard with up to 2TB DDR4 ECC/REG Memory Support.
  • System Processor: Up to 2 Intel Xeon E5-2600 series v4/v3 processor support for each node total 4 Intel Xeon E5-2600 series v4/v3 processor Support for the system.
  • System Memory: Support up to 2TB DDR4 ECC/REG Memory in 16 DIMM slots.
  • Storage Drives: 4x Hot-swap 2.5-inch Storage Drives support for each node total 8x Hot-swap 2.5-inch Hard Drives support for the system.
  • PCI-e x16: 1x PCI-e x16 slot.
  • Operating System: OpenBSD.
  • Security Software: OpenBSD PF.

Configure eRacks/TWINGUARD.PRO

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: $ 3995.00 As Configured: $ 3995.00
Configuration Summary:
Default Configuration
Option Choices More Info Add/Subtract
ChassisRackmount/TWINGUARD.PRO 1U-2X4RSSD
Power SupplyeRacks/1000W Redundant Platinum Power Supply
MotherboardeRacks-certified Dual-Node TWINGUARD.PRO Motherboard
ProcessorIntel Xeon E5-2603 v4 (6 Cores @ 1.70GHz, PScore 5621)
Memory DDR4 ECC / REG4GB DDR4 Memory ECC / REG
Storage Array300GB HGST Enterprise 10krpm 2.5-inch SAS12 HDD
PCI-e x16none
Rails and Bracketsnone
Operating SystemOpenBSD
SoftwareOpenBSD PF
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 4783.562 msec
System CPU time 786.337 msec
Total CPU time 5569.899 msec
Elapsed time 18303.229 msec
Context switches 14 voluntary, 1674 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 0x7fbbeff378b0>
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 Fri, 03 Apr 2020 23:04:07 MSK
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/firewall-servers/TWINGUARD.PRO/
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': 'firewall-servers', 'sku': 'TWINGUARD.PRO'} None

No cookies

Session data

Variable Value
'prod' {'baseoptions': '', 'baseprice': 3995.0, 'blurb': '<p style="text-align:justify">The <a ' 'href="https://eracks.com/products/firewall-servers/TWINGUARD.PRO/" ' 'target="_blank"><strong><em>eRacks/TWINGUARD.PRO</em></strong></a> ' 'is designed for absolute security. In the event of a firewall ' 'failure, the secondary firewall automatically assumes the role of ' 'the primary and all network traffic flows uninterrupted. Optional ' 'installation available of pfw, the web frontend for the pf firewall ' 'in OpenBSD.</p>\r\n' '\r\n' '<p style="text-align:justify">The <a ' 'href="https://eracks.com/products/firewall-servers/TWINGUARD.PRO/" ' 'target="_self"><strong><em>eRacks/TWINGUARD.PRO</em></strong></a> ' 'is a 1U system with 19.1 x 29.5 x 1.7-inch Dimensions, ' 'fully-redundant secure OpenBSD-based firewall server. This system ' 'comes</p>\r\n' '\r\n' '<p style="text-align:justify">... (<a ' 'href="https://eracks.com/products/firewall-servers/TWINGUARD.PRO/" ' 'target="_blank">more</a>)</p>', 'category_id': 58147, 'comments': '29 APR 2019,\r\nAsif.', 'cost': 3099.0, 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 69179), 'description': '<p style="text-align:justify"><img alt="" ' 'src="/media/images/categories/firewall-servers/latest/openbsd_gun_small.png" ' 'style="float:right; height:105px; margin:10px; width:140px" ' '/>The <a ' 'href="https://eracks.com/products/firewall-servers/TWINGUARD.PRO/" ' 'target="_self"><strong><em>eRacks/TWINGUARD.PRO</em></strong></a> ' 'is designed for absolute security. In the event of a firewall ' 'failure, the secondary firewall automatically assumes the ' 'role of the primary and all network traffic flows ' 'uninterrupted. Optional installation available of pfw, the ' 'web frontend for the pf firewall in OpenBSD.</p>\r\n' '\r\n' '<p style="text-align:justify">The <a ' 'href="https://eracks.com/products/firewall-servers/TWINGUARD.PRO/" ' 'target="_self"><strong><em>eRacks/TWINGUARD.PRO</em></strong></a> ' 'is a 1U system with 19.1 x 29.5 x 1.7-inch Dimensions, ' 'fully-redundant secure OpenBSD-based firewall server. This ' 'system comes with:33.5 lbs. or 15.2kg Gross Weight.</p>\r\n' '\r\n' '<p style="text-align:justify"><a ' 'href="https://eracks.com/products/firewall-servers/TWINGUARD.PRO/" ' 'target="_self"><strong><em><img alt="" ' 'src="/media/images/categories/firewall-servers/latest/firewall_logo_large.png" ' 'style="float:left; height:135px; margin:10px; width:180px" ' '/>eRacks/TWINGUARD.PRO</em></strong></a> is simply two ' 'hot-swappable systems in a single 1U chassis and designed to ' 'provide double firewall security. While each internal system ' 'supports dual- Support Intel Xeon E5-2600 v4/ v3 Family ' 'Processors with up to 2TB high frequency DDR4 ECC/REG memory ' 'in 16 DIMM slots.</p>\r\n' '\r\n' '<p style="text-align:justify">For te Data storage each system ' 'Node support 4x SATA 6Gb/s 2.5-inch SSD drives with RAID 0, ' '1, 5 or 10 arrays for data protection security. For ' 'connectivity and management 2x Serial Ports (1 rear, 1 via ' 'header), 2x RJ45 LAN Ports, 1x RJ45 Dedicated IPMI LAN Port ' 'are included. As well as 2x USB 3.0 Ports, 1x VGA Port, 1x ' 'PCI-Express 3.0 x16 Slot (Low-profile) provided. For keeping ' 'the system cool, 3x Heavy-Duty Counter Rotating Fans w/ Air ' 'Shroud are included too.</p>\r\n' '\r\n' '<p style="text-align:justify"><img alt="" ' 'src="/media/images/categories/firewall-servers/latest/openbsd_large.png" ' 'style="float:left; height:135px; margin:10px; width:180px" ' '/>For running the system smoothly, 1000W 80 PLUS Redundant ' 'Titanium Level (96%) AC-DC Power Supplies are added with each ' 'system node.</p>\r\n' '\r\n' '<p style="text-align:justify">This system comes with failover ' 'capability, highly suitable for small offices and homes. ' 'Common Address Redundancy Protocol (CARP) is installed and ' 'configured on request. Web-based remote administration can ' 'also be installed free of charge, on request. Please state ' 'requests in the Notes field of your order.</p>\r\n' '\r\n' '<p style="text-align:justify">Don&#39;t allow your firewall ' 'system to be a single point of failure!</p>\r\n' '\r\n' '<p style="text-align:justify"><img alt="" ' 'src="/media/images/categories/firewall-servers/latest/mr._linux_small.png" ' 'style="float:right; height:105px; margin:10px; width:140px" ' '/>In the event of a firewall failure, the secondary firewall ' 'automatically assumes the role of the primary and all network ' 'traffic flows uninterrupted. Optional installation available ' 'of pfw, the web frontend for the pf firewall in ' 'OpenBSD.</p>\r\n' '\r\n' '<p style="text-align:justify">As always, these systems come ' 'with <strong>Standard 1yr full /3yr limited ' 'warranty</strong>.</p>\r\n' '\r\n' '<p style="text-align:justify"><strong>Note:</strong> For ' 'orders with your desired configuration, use the Quote request ' 'button, eMail us, use the contact form, call us, or simply ' 'write in your request in the &lsquo;Notes&rsquo; field when ' 'you place your order.</p>', 'features': '<ul>\r\n' '\t<li style="text-align:justify"><strong>System ' 'Chassis:</strong> 1U Rackmount Chassis with up to 4x Hot-swap ' '2.5-inch Solid State Drive or SAS Drives support for each ' 'node.<img alt="" ' 'src="/media/images/categories/firewall-servers/latest/security_large.png" ' 'style="float:right; height:135px; margin:10px; width:180px" ' '/></li>\r\n' '\t<li style="text-align:justify"><strong>Power Supply:</strong> ' 'eRacks/1000W Redundant Platinum Power Supply support for each ' 'node.</li>\r\n' '\t<li style="text-align:justify"><strong>System ' 'Motherboard:</strong> eRacks-certified Dual-Node TWINGUARD.PRO ' 'Motherboard with up to 2TB DDR4 ECC/REG Memory Support.</li>\r\n' '\t<li style="text-align:justify"><strong>System ' 'Processor:</strong> Up to 2 Intel Xeon E5-2600 series v4/v3 ' 'processor support for each node total 4 Intel Xeon E5-2600 ' 'series v4/v3 processor Support for the system.</li>\r\n' '\t<li style="text-align:justify"><strong>System Memory:</strong> ' 'Support up to 2TB DDR4 ECC/REG Memory in 16 DIMM slots.</li>\r\n' '\t<li style="text-align:justify"><strong>Storage ' 'Drives:</strong> 4x Hot-swap 2.5-inch Storage Drives support for ' 'each node total 8x Hot-swap 2.5-inch Hard Drives support for the ' 'system.</li>\r\n' '\t<li style="text-align:justify"><strong>PCI-e x16:</strong> 1x ' 'PCI-e x16 slot.</li>\r\n' '\t<li style="text-align:justify"><strong>Operating ' 'System:</strong> OpenBSD.</li>\r\n' '\t<li style="text-align:justify"><strong>Security ' 'Software:</strong> OpenBSD PF.</li>\r\n' '</ul>', 'id': 59003, 'image': <FileObject: images/products/twinguardpro/new/twinpro_rear_angle_large.png>, 'link': '', 'meta_description': 'The eRacks/TWINGUARD.PRO is designed for absolute ' 'security. In the event of a firewall failure, the ' 'secondary firewall automatically assumes the role of the ' 'primary and all network traffic flows uninterrupted. ' 'Optional installation available of pfw, the web frontend ' 'for the pf firewall in OpenBSD.\r\n' '\r\n' 'The eRacks/TWINGUARD.PRO is a 1U system with 19.1 x 29.5 ' 'x 1.7-inch Dimensions, fully-redundant secure ' 'OpenBSD-based firewall server. This system comes ' 'with:33.5 lbs. or 15.2kg Gross Weight.\r\n' '\r\n' 'eRacks/TWINGUARD.PRO is simply two hot-swappable systems ' 'in a single 1U chassis and designed to provide double ' 'firewall security. While each internal system supports ' 'dual- Support Intel Xeon E5-2600 v4/ v3 Family ' 'Processors with up to 2TB high frequency DDR4 ECC/REG ' 'memory in 16 DIMM slots.\r\n' '\r\n' 'For te Data storage each system Node support 4x SATA ' '6Gb/s 2.5-inch SSD drives with RAID 0, 1, 5 or 10 arrays ' 'for data protection security. For connectivity and ' 'management 2x Serial Ports (1 rear, 1 via header), 2x ' 'RJ45 LAN Ports, 1x RJ45 Dedicated IPMI LAN Port are ' 'included. As well as 2x USB 3.0 Ports, 1x VGA Port, 1x ' 'PCI-Express 3.0 x16 Slot (Low-profile) provided. For ' 'keeping the system cool, 3x Heavy-Duty Counter Rotating ' 'Fans w/ Air Shroud are included too.\r\n' '\r\n' 'For running the system smoothly, 1000W 80 PLUS Redundant ' 'Titanium Level (96%) AC-DC Power Supplies are added with ' 'each system node.\r\n' '\r\n' 'This system comes with failover capability, highly ' 'suitable for small offices and homes. Common Address ' 'Redundancy Protocol (CARP) is installed and configured ' 'on request. Web-based remote administration can also be ' 'installed free of charge, on request. Please state ' 'requests in the Notes field of your order.\r\n' '\r\n' "Don't allow your firewall system to be a single point of " 'failure!\r\n' '\r\n' 'In the event of a firewall failure, the secondary ' 'firewall automatically assumes the role of the primary ' 'and all network traffic flows uninterrupted. Optional ' 'installation available of pfw, the web frontend for the ' 'pf firewall in OpenBSD.\r\n' '\r\n' 'As always, these systems come with Standard 1yr full ' '/3yr limited warranty.\r\n' '\r\n' 'Note: For orders with your desired configuration, use ' 'the Quote request button, eMail us, use the contact ' 'form, call us, or simply write in your request in the ' '‘Notes’ field when you place your order.', 'meta_keywords': 'OpenBSD, FreeBSD, PFSense, OpenSense, OpenBSD PF, firewall, ' 'failover, PFW, proxy server, network address translation ' '(NAT), and stateful inspection, Protection, Security, ' 'Network Design, DMZ, Mail Transfer Protocol (SMTP) mail, ' 'FTP, Telnet, Encrypt data, Internet Security, Secure Access', 'meta_title': 'eRacks/TWINGUARD.PRO', 'name': 'eRacks/TWINGUARD.PRO', 'notes': '', 'opts': OrderedDict([('59848_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbecffd460>, 'allowed_quantities': '', 'choices': {59705: {'blurb': '', 'choicecategory_id': 43890, 'comment': 'https://www.supermicro.com/products/system/1U/1028/SYS-1028TP-DTR.cfm\r\n' '\r\n' '29 APR 2019,\r\n' 'Asif.', 'cost': 0.0, 'created': datetime.datetime(2019, 4, 29, 16, 23, 55, 348777), 'id': 59705, 'multiplier': 0, 'name': 'Rackmount/TWINGUARD.PRO ' '1U-2X4RSSD', 'price': None, 'published': True, 'sortorder': 111, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 16, 23, 55, 348802)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 90496), 'defaultchoice_id': 59705, 'id': 59848, 'name': 'Chassis', 'option_id': 9, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2019, 8, 17, 16, 21, 46, 970293)}), ('59849_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbecffd820>, 'allowed_quantities': '2', 'choices': {59498: {'blurb': '', 'choicecategory_id': 43892, 'comment': 'http://store.supermicro.com/1000w-1u-pws-1k05a-1r.html ' '($265)\r\n' '\r\n' '26 Nov 2019,\r\n' 'Asif.', 'cost': 290.0, 'created': datetime.datetime(2018, 7, 5, 13, 28, 38, 264488), 'id': 59498, 'multiplier': 0, 'name': 'eRacks/1000W Redundant ' 'Platinum Power Supply', 'price': None, 'published': True, 'sortorder': 100, 'source': '', 'updated': datetime.datetime(2019, 11, 27, 0, 50, 14, 303328)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 93872), 'defaultchoice_id': 59498, 'id': 59849, 'name': 'Power Supply', 'option_id': 21194, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 14, 6, 7, 409249)}), ('59851_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638eb0>, 'allowed_quantities': '2', 'choices': {59706: {'blurb': '', 'choicecategory_id': 43903, 'comment': '29 Apr 2019\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 4, 29, 16, 27, 52, 607446), 'id': 59706, 'multiplier': 0, 'name': 'eRacks-certified ' 'Dual-Node TWINGUARD.PRO ' 'Motherboard', 'price': 0.0, 'published': True, 'sortorder': 5535, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 16, 27, 52, 607469)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 100568), 'defaultchoice_id': 59706, 'id': 59851, 'name': 'Motherboard', 'option_id': 6520, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 14, 17, 8, 449584)}), ('59845_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638a30>, 'allowed_quantities': '2,4', 'choices': {59038: {'blurb': 'Intel Xeon E5-2667 v3 @ ' '3.20GHz - Server CPUs - ' 'PScore 16101 - 8 Cores - ' '16 Threads - 20 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 2263.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 141828), 'id': 59038, 'multiplier': 0, 'name': 'Intel Xeon E5-2667 v3 (8 ' 'Cores @ 3.20GHz, PScore ' '16101)', 'price': 0.0, 'published': True, 'sortorder': 32667, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 14, 11, 16, 199868)}, 59039: {'blurb': 'Intel Xeon E5-2690 v3 @ ' '2.60GHz - Server CPUs - ' 'PScore 19320 - 12 Cores ' '- 24 Threads - 30 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 2304.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 149908), 'id': 59039, 'multiplier': 0, 'name': 'Intel Xeon E5-2690 v3 (12 ' 'Cores @ 2.60GHz, PScore ' '19320)', 'price': 0.0, 'published': True, 'sortorder': 32690, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 13, 6, 2, 488058)}, 59041: {'blurb': 'Intel Xeon E5-2660 v3 @ ' '2.60GHz - Server CPUs - ' 'PScore 16161 - 10 Cores ' '- 20 Threads - 25 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 1594.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 166085), 'id': 59041, 'multiplier': 0, 'name': 'Intel Xeon E5-2660 v3 (10 ' 'Cores @ 2.60GHz, PScore ' '16161)', 'price': None, 'published': True, 'sortorder': 32660, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 36, 46, 855891)}, 59042: {'blurb': 'Intel Xeon E5-2670 v3 @ ' '2.30GHz - Server CPUs - ' 'PScore 16619 - 12 Cores ' '- 24 Threads - 30 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 1752.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 174182), 'id': 59042, 'multiplier': 0, 'name': 'Intel Xeon E5-2670 v3 (12 ' 'Cores @ 2.30GHz, PScore ' '16619)', 'price': 0.0, 'published': True, 'sortorder': 32670, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 49, 30, 115598)}, 59048: {'blurb': 'Intel Xeon E5-2683 v3 @ ' '2.00GHz - Server CPUs - ' 'PScore 17423 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 2031.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 223271), 'id': 59048, 'multiplier': 0, 'name': 'Intel Xeon E5-2683 v3 (14 ' 'Cores @ 2.00GHz, PScore ' '17423)', 'price': 0.0, 'published': True, 'sortorder': 32683, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 13, 0, 57, 601422)}, 59049: {'blurb': 'Intel Xeon E5-2695 v3 @ ' '2.30GHz - Server CPUs - ' 'PScore 20398 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 2671.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 231346), 'id': 59049, 'multiplier': 0, 'name': 'Intel Xeon E5-2695 v3 (14 ' 'Cores @ 2.30GHz, PScore ' '20398)', 'price': 0.0, 'published': True, 'sortorder': 32695, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 13, 9, 17, 165277)}, 59050: {'blurb': 'Intel Xeon E5-2697 v3 @ ' '2.60GHz - Server CPUs - ' 'PScore 21590 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 2977.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 239402), 'id': 59050, 'multiplier': 0, 'name': 'Intel Xeon E5-2697 v3 (14 ' 'Cores @ 2.60GHz, PScore ' '21590)', 'price': 0.0, 'published': True, 'sortorder': 32697, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 13, 15, 51, 576652)}, 59051: {'blurb': 'Intel Xeon E5-2698 v3 @ ' '2.30GHz - Server CPUs - ' 'PScore 21149 - 16 Cores ' '- 32 Threads - 40 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from ' '"http://www.cpu-world.com/CPUs/Xeon/Intel-Xeon%20E5-2698%20v3.html" ' '+ 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 3549.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 247460), 'id': 59051, 'multiplier': 0, 'name': 'Intel Xeon E5-2698 v3 (16 ' 'Cores @ 2.30GHz, PScore ' '21149)', 'price': 0.0, 'published': True, 'sortorder': 32698, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 13, 39, 59, 650540)}, 59052: {'blurb': 'Intel Xeon E5-2699 v3 @ ' '2.30GHz - Server CPUs - ' 'PScore 22645 - 18 Cores ' '- 36 Threads - 45 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from ' '"https://www.amazon.com/Intel-Xeon-E5-2699-Octadeca-core-Processor/dp/B00PDD1ZX0" ' '+ 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 4000.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 255558), 'id': 59052, 'multiplier': 0, 'name': 'Intel Xeon E5-2699 v3 (18 ' 'Cores @ 2.30GHz, PScore ' '22645)', 'price': 0.0, 'published': True, 'sortorder': 32699, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 14, 29, 48, 192943)}, 59053: {'blurb': 'Intel Xeon E5-2640 v3 @ ' '2.60GHz - Server CPUs - ' 'PScore 14018 - 8 Cores - ' '16 Threads - 20 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 1039.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 265105), 'id': 59053, 'multiplier': 0, 'name': 'Intel Xeon E5-2640 v3 (8 ' 'Cores @ 2.60GHz, PScore ' '14018)', 'price': 0.0, 'published': True, 'sortorder': 32640, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 11, 8, 956122)}, 59054: {'blurb': 'Intel Xeon E5-2603 v3 @ ' '1.60GHz - Server CPUs - ' 'PScore 5140 - 6 Cores - ' '6 Threads - 15 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 239.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 273384), 'id': 59054, 'multiplier': 0, 'name': 'Intel Xeon E5-2603 v3 (6 ' 'Cores @ 1.60GHz, PScore ' '5165)', 'price': 0.0, 'published': True, 'sortorder': 32603, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 11, 49, 53, 766443)}, 59055: {'blurb': 'Intel Xeon E5-2620 v3 @ ' '2.40GHz - Server CPUs - ' 'PScore 9992 - 6 Cores - ' '12 Threads - 15 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 465.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 281627), 'id': 59055, 'multiplier': 0, 'name': 'Intel Xeon E5-2620 v3 (6 ' 'Cores @ 2.40GHz, PScore ' '9992)', 'price': 0.0, 'published': True, 'sortorder': 32620, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 11, 55, 5, 124712)}, 59056: {'blurb': 'Intel Xeon E5-2623 v3 @ ' '3.00GHz - Server CPUs - ' 'PScore 9133 - 4 Cores - ' '8 Threads - 10 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 489.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 289808), 'id': 59056, 'multiplier': 0, 'name': 'Intel Xeon E5-2623 v3 (4 ' 'Cores @ 3.00GHz, PScore ' '9133)', 'price': 0.0, 'published': True, 'sortorder': 32623, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 11, 57, 34, 46453)}, 59057: {'blurb': 'Intel Xeon E5-2630 v3 @ ' '2.40GHz - Server CPUs - ' 'PScore 12843 - 8 Cores - ' '16 Threads - 20 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 738.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 297989), 'id': 59057, 'multiplier': 0, 'name': 'Intel Xeon E5-2630 v3 (8 ' 'Cores @ 2.40GHz, PScore ' '12843)', 'price': 0.0, 'published': True, 'sortorder': 32630, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 0, 0, 104100)}, 59059: {'blurb': 'Intel Xeon E5-2637 v3 @ ' '3.50GHz - Server CPUs - ' 'PScore 10281 - 4 Cores - ' '8 Threads - 15 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 1096.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 314670), 'id': 59059, 'multiplier': 0, 'name': 'Intel Xeon E5-2637 v3 (4 ' 'Cores @ 3.50GHz, PScore ' '10281)', 'price': 0.0, 'published': True, 'sortorder': 32637, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 4, 29, 801744)}, 59060: {'blurb': 'Intel Xeon E5-2643 v3 @ ' '3.40GHz - Server CPUs - ' 'PScore 13852 - 6 Cores - ' '12 Threads - 20 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 1708.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 322953), 'id': 59060, 'multiplier': 0, 'name': 'Intel Xeon E5-2643 v3 (6 ' 'Cores @ 3.40GHz, PScore ' '13852)', 'price': 0.0, 'published': True, 'sortorder': 32643, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 20, 23, 868034)}, 59062: {'blurb': 'Intel Xeon E5-2680 v3 @ ' '2.50GHz - Server CPUs - ' 'PScore 18779 - 12 Cores ' '- 24 Threads - 30 MB ' 'cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 1924.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 339643), 'id': 59062, 'multiplier': 0, 'name': 'Intel Xeon E5-2680 v3 (12 ' 'Cores @ 2.50GHz, PScore ' '18779)', 'price': None, 'published': True, 'sortorder': 32680, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 12, 57, 30, 482716)}, 59064: {'blurb': 'Intel Xeon E5-2609 v3 @ ' '1.90GHz - Server CPUs - ' 'PScore 5934 - 6 Cores - ' '6 Threads - 15 MB cache', 'choicecategory_id': 58847, 'comment': 'Price from Intel Ark ' 'Recommended Customer ' 'Price + 10% extra.\r\n' '\r\n' '09 July 2018,\r\n' 'Asif.', 'cost': 337.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 356664), 'id': 59064, 'multiplier': 0, 'name': 'Intel Xeon E5-2609 v3 (6 ' 'Cores @ 1.90GHz, PScore ' '5934)', 'price': 0.0, 'published': True, 'sortorder': 32609, 'source': '', 'updated': datetime.datetime(2018, 7, 8, 11, 51, 42, 889179)}, 59086: {'blurb': 'Intel Xeon E5-2658 v4 @ ' '2.30GHz - Server CPUs - ' 'PScore 16290 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 16290 - ' "Released : Q1'16", 'cost': 1832.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 537956), 'id': 59086, 'multiplier': 0, 'name': 'Intel Xeon E5-2658 v4 (14 ' 'Cores @ 2.30GHz, PScore ' '16290)', 'price': None, 'published': True, 'sortorder': 42658, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 28, 44, 734175)}, 59087: {'blurb': 'Intel Xeon E5-2660 v4 @ ' '2.00GHz - Server CPUs - ' 'PScore 18816 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 18816 - ' "Released : Q1'16", 'cost': 1498.77, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 546321), 'id': 59087, 'multiplier': 0, 'name': 'Intel Xeon E5-2660 v4 (14 ' 'Cores @ 2.00GHz, PScore ' '18816)', 'price': 0.0, 'published': True, 'sortorder': 42660, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 27, 10, 114244)}, 59089: {'blurb': 'Intel Xeon E5-2695 v4 @ ' '2.10GHz - Server CPUs - ' 'PScore 20258 - 18 Cores ' '- 36 Threads - 45 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 20258 - ' "Released : Q1'16", 'cost': 2485.5, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 562610), 'id': 59089, 'multiplier': 0, 'name': 'Intel Xeon E5-2695 v4 (18 ' 'Cores @ 2.10GHz, PScore ' '20258)', 'price': 0.0, 'published': True, 'sortorder': 42695, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 30, 13, 903874)}, 59090: {'blurb': 'Intel Xeon E5-2699 v4 @ ' '2.20GHz - Server CPUs - ' 'PScore 23362 - 22 Cores ' '- 44 Threads - 55 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 23362 - ' "Released : Q1'16", 'cost': 4115.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 570754), 'id': 59090, 'multiplier': 0, 'name': 'Intel Xeon E5-2699 v4 (22 ' 'Cores @ 2.20GHz, PScore ' '23362)', 'price': None, 'published': True, 'sortorder': 42699, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 30, 45, 751072)}, 59092: {'blurb': 'Intel Xeon E5-2680 v4 @ ' '2.40GHz - Server CPUs - ' 'PScore 19922 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 19922 - ' "Released : Q1'16", 'cost': 1791.99, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 587050), 'id': 59092, 'multiplier': 0, 'name': 'Intel Xeon E5-2680 v4 (14 ' 'Cores @ 2.40GHz, PScore ' '19922)', 'price': 0.0, 'published': True, 'sortorder': 42680, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 28, 32, 474017)}, 59093: {'blurb': 'Intel Xeon E5-2697 v4 @ ' '2.30GHz - Server CPUs - ' 'PScore 21830 - 18 Cores ' '- 36 Threads - 45 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 21830 - ' "Released : Q1'16", 'cost': 2716.45, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 595183), 'id': 59093, 'multiplier': 0, 'name': 'Intel Xeon E5-2697 v4 (18 ' 'Cores @ 2.30GHz, PScore ' '21830)', 'price': 0.0, 'published': True, 'sortorder': 42697, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 30, 25, 113466)}, 59094: {'blurb': 'Intel Xeon E5-2698 v4 @ ' '2.20GHz - Server CPUs - ' 'PScore 21789 - 20 Cores ' '- 40 Threads - 50 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 21789 - ' "Released : Q1'16", 'cost': 3226.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 604337), 'id': 59094, 'multiplier': 0, 'name': 'Intel Xeon E5-2698 v4 (20 ' 'Cores @ 2.20GHz, PScore ' '21789)', 'price': None, 'published': True, 'sortorder': 42698, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 30, 35, 948814)}, 59095: {'blurb': 'Intel Xeon E5-2603 v4 @ ' '1.70GHz - Server CPUs - ' 'PScore 5621 - 6 Cores - ' '6 Threads - 15 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 5621 - ' "Released : Q1'16", 'cost': 228.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 616697), 'id': 59095, 'multiplier': 0, 'name': 'Intel Xeon E5-2603 v4 (6 ' 'Cores @ 1.70GHz, PScore ' '5621)', 'price': 0.0, 'published': True, 'sortorder': 42603, 'source': '', 'updated': datetime.datetime(2019, 1, 12, 23, 54, 17, 187437)}, 59097: {'blurb': 'Intel Xeon E5-2667 v4 @ ' '3.20GHz - Server CPUs - ' 'PScore 16654 - 8 Cores - ' '16 Threads - 25 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 16654 - ' "Released : Q1'16", 'cost': 2057.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 635853), 'id': 59097, 'multiplier': 0, 'name': 'Intel Xeon E5-2667 v4 (8 ' 'Cores @ 3.20GHz, PScore ' '16654)', 'price': None, 'published': True, 'sortorder': 42667, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 29, 29, 728911)}, 59098: {'blurb': 'Intel Xeon E5-2623 v4 @ ' '2.60GHz - Server CPUs - ' 'PScore 8061 - 4 Cores - ' '8 Threads - 10 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 8061 - ' "Released : Q1'16", 'cost': 444.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 644210), 'id': 59098, 'multiplier': 0, 'name': 'Intel Xeon E5-2623 v4 (4 ' 'Cores @ 2.60GHz, PScore ' '8061)', 'price': None, 'published': True, 'sortorder': 42623, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 23, 15, 121890)}, 59099: {'blurb': 'Intel Xeon E5-2630 v4 @ ' '2.20GHz - Server CPUs - ' 'PScore 13981 - 10 Cores ' '- 20 Threads - 25 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 13981 - ' "Released : Q1'16", 'cost': 654.42, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 652455), 'id': 59099, 'multiplier': 0, 'name': 'Intel Xeon E5-2630 v4 (10 ' 'Cores @ 2.20GHz, PScore ' '13981)', 'price': 0.0, 'published': True, 'sortorder': 42630, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 23, 38, 272789)}, 59100: {'blurb': 'Intel Xeon E5-2637 v4 @ ' '3.50GHz - Server CPUs - ' 'PScore 10052 - 4 Cores - ' '8 Threads - 15 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 10052 - ' "Released : Q1'16", 'cost': 996.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 661386), 'id': 59100, 'multiplier': 0, 'name': 'Intel Xeon E5-2637 v4 (4 ' 'Cores @ 3.50GHz, PScore ' '10052)', 'price': None, 'published': True, 'sortorder': 42637, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 26, 13, 812974)}, 59101: {'blurb': 'Intel Xeon E5-2640 v4 @ ' '2.40GHz - Server CPUs - ' 'PScore 15314 - 10 Cores ' '- 20 Threads - 25 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 15314 - ' "Released : Q1'16", 'cost': 903.64, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 669607), 'id': 59101, 'multiplier': 0, 'name': 'Intel Xeon E5-2640 v4 (10 ' 'Cores @ 2.40GHz, PScore ' '15314)', 'price': 0.0, 'published': True, 'sortorder': 42640, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 25, 58, 308748)}, 59102: {'blurb': 'Intel Xeon E5-2643 v4 @ ' '3.40GHz - Server CPUs - ' 'PScore 13395 - 6 Cores - ' '12 Threads - 20 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 13395 - ' "Released : Q1'16", 'cost': 1552.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 677805), 'id': 59102, 'multiplier': 0, 'name': 'Intel Xeon E5-2643 v4 (6 ' 'Cores @ 3.40GHz, PScore ' '13395)', 'price': None, 'published': True, 'sortorder': 42643, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 28, 23, 9029)}, 59103: {'blurb': 'Intel Xeon E5-2609 v4 @ ' '1.70GHz - Server CPUs - ' 'PScore 6910 - 8 Cores - ' '8 Threads - 20 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 6910 - ' "Released : Q1'16", 'cost': 313.93, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 699212), 'id': 59103, 'multiplier': 0, 'name': 'Intel Xeon E5-2609 v4 (8 ' 'Cores @ 1.70GHz, PScore ' '6910)', 'price': 0.0, 'published': True, 'sortorder': 42609, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 22, 28, 774894)}, 59104: {'blurb': 'Intel Xeon E5-2620 v4 @ ' '2.10GHz - Server CPUs - ' 'PScore 11427 - 8 Cores - ' '16 Threads - 20 MB cache', 'choicecategory_id': 58812, 'comment': 'PScore 11427 - ' "Released : Q1'16", 'cost': 405.38, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 721049), 'id': 59104, 'multiplier': 0, 'name': 'Intel Xeon E5-2620 v4 (8 ' 'Cores @ 2.10GHz, PScore ' '11427)', 'price': 0.0, 'published': True, 'sortorder': 42620, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 22, 42, 907586)}, 59116: {'blurb': 'Intel Xeon E5-2650 v4 @ ' '2.20GHz - Server CPUs - ' 'PScore 16142 - 12 Cores ' '- 24 Threads - 30 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 16142 - ' "Released : Q1'16", 'cost': 1199.61, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 861591), 'id': 59116, 'multiplier': 0, 'name': 'Intel Xeon E5-2650 v4 (12 ' 'Cores @ 2.20GHz, PScore ' '16142)', 'price': 0.0, 'published': True, 'sortorder': 42650, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 26, 26, 725475)}, 59117: {'blurb': 'Intel Xeon E5-2690 v4 @ ' '2.60GHz - Server CPUs - ' 'PScore 21490 - 14 Cores ' '- 28 Threads - 35 MB ' 'cache', 'choicecategory_id': 58812, 'comment': 'PScore 21490 - ' "Released : Q1'16", 'cost': 2049.0, 'created': datetime.datetime(2017, 10, 13, 5, 16, 48, 869703), 'id': 59117, 'multiplier': 0, 'name': 'Intel Xeon E5-2690 v4 (14 ' 'Cores @ 2.60GHz, PScore ' '21490)', 'price': 0.0, 'published': True, 'sortorder': 42690, 'source': '', 'updated': datetime.datetime(2018, 7, 26, 10, 28, 57, 245529)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 81277), 'defaultchoice_id': 59095, 'id': 59845, 'name': 'Processor', 'option_id': 6564, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 4, 29, 16, 37, 19, 330131)}), ('59852_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638610>, 'allowed_quantities': '4,8,16,32', 'choices': {56620: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56619, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 65.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 426233), 'id': 56620, 'multiplier': 0, 'name': '4GB DDR4 Memory ECC / REG', 'price': 0.0, 'published': True, 'sortorder': 1305, 'source': '', 'updated': datetime.datetime(2018, 4, 8, 14, 36, 29, 360263)}, 56621: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56619, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 115.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 445673), 'id': 56621, 'multiplier': 0, 'name': '8GB DDR4 Memory ECC / REG', 'price': 0.0, 'published': True, 'sortorder': 1305, 'source': '', 'updated': datetime.datetime(2018, 4, 8, 14, 36, 37, 58273)}, 56622: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56619, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 220.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 462630), 'id': 56622, 'multiplier': 0, 'name': '16GB DDR4 Memory ECC / ' 'REG', 'price': 0.0, 'published': True, 'sortorder': 1305, 'source': '', 'updated': datetime.datetime(2018, 4, 8, 14, 36, 45, 39432)}, 56623: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56619, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 550.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 478911), 'id': 56623, 'multiplier': 0, 'name': '32GB DDR4 Memory ECC / ' 'REG', 'price': 0.0, 'published': True, 'sortorder': 1305, 'source': '', 'updated': datetime.datetime(2018, 4, 8, 14, 36, 53, 448784)}, 56624: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56619, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 1050.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 495589), 'id': 56624, 'multiplier': 0, 'name': '64GB DDR4 Memory ECC / ' 'REG', 'price': 0.0, 'published': True, 'sortorder': 1305, 'source': '', 'updated': datetime.datetime(2018, 4, 8, 14, 37, 2, 100935)}, 59225: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56619, 'comment': 'Crucial 128GB ' 'DDR4-2666 LRDIMM ( ' 'http://www.crucial.com/usa/en/ct128g4zfe426s), ' 'Price: $3,999\r\n' 'Samsung 128GB DDR4 ' 'Registered ECC ' 'PC4-21300 2666MHz ' 'Memory ' '(http://www.priceblaze.com/m386aak40b40-cwd7q.html), ' 'Price: $4,355\r\n' '\r\n' 'Asif,\r\n' '21 Mar 2018', 'cost': 3999.0, 'created': datetime.datetime(2018, 3, 11, 10, 55, 36, 524433), 'id': 59225, 'multiplier': 0, 'name': '128GB 3DS LRDIMMD DDR4 ' 'ECC / REG Memory', 'price': 0.0, 'published': True, 'sortorder': 1305, 'source': '', 'updated': datetime.datetime(2018, 3, 21, 8, 29, 10, 827974)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 103561), 'defaultchoice_id': 56620, 'id': 59852, 'name': 'Memory DDR4 ECC / REG', 'option_id': 58362, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 4, 29, 16, 38, 47, 328094)}), ('59942_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed6384f0>, 'allowed_quantities': '2,4,8', 'choices': {56683: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B013HNYVLA/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=1\r\n' '\r\n' 'WD Blue 1TB Desktop ' 'Hard Disk Drive - SATA ' '6 Gb/s 64MB Cache 3.5 ' 'Inch - WD10EZRZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 65.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 395298), 'id': 56683, 'multiplier': 0, 'name': '1TB WD Blue 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5010, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 54, 26, 259269)}, 58034: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B013HNYV8I/ref=olp_twister_child?ie=UTF8&mv_size_name=3&mv_style_name=1\r\n' '\r\n' 'WD Blue 4TB Desktop ' 'Hard Disk Drive - SATA ' '6 Gb/s 64MB Cache 3.5 ' 'Inch - WD40EZRZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 125.0, 'created': datetime.datetime(2016, 2, 1, 0, 27, 32, 496820), 'id': 58034, 'multiplier': 0, 'name': '4TB WD Blue 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5010, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 54, 48, 500975)}, 58035: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B013HNYVCE/ref=olp_twister_child?ie=UTF8&mv_size_name=4&mv_style_name=1\r\n' '\r\n' 'WD Blue 6TB Desktop ' 'Hard Disk Drive - SATA ' '6 Gb/s 64MB Cache 3.5 ' 'Inch - WD60EZRZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 215.0, 'created': datetime.datetime(2016, 2, 1, 0, 27, 58, 797046), 'id': 58035, 'multiplier': 0, 'name': '6TB WD Blue 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5010, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 54, 56, 791891)}, 58036: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B013HNYV42/ref=olp_twister_child?ie=UTF8&mv_size_name=2&mv_style_name=1\r\n' '\r\n' 'WD Blue 3TB Desktop ' 'Hard Disk Drive - SATA ' '6 Gb/s 64MB Cache 3.5 ' 'Inch - WD30EZRZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 100.0, 'created': datetime.datetime(2016, 2, 1, 0, 30, 19, 605266), 'id': 58036, 'multiplier': 0, 'name': '3TB WD Blue 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5010, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 54, 43, 91663)}, 58037: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B013QFRS2S/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=1\r\n' '\r\n' 'WD Blue 2TB Desktop ' 'Hard Disk Drive - SATA ' '6 Gb/s 64MB Cache 3.5 ' 'Inch - WD20EZRZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 70.0, 'created': datetime.datetime(2016, 2, 1, 0, 33, 18, 966956), 'id': 58037, 'multiplier': 0, 'name': '2TB WD Blue 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5010, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 54, 33, 238413)}, 58130: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B013HNYV9W/ref=olp_twister_child?ie=UTF8&mv_size_name=5&mv_style_name=1\r\n' '\r\n' 'WD Blue 500GB Desktop ' 'Hard Disk Drive - SATA ' '6 Gb/s 64MB Cache 3.5 ' 'Inch - WD5000AZRZ\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 50.0, 'created': datetime.datetime(2016, 2, 21, 18, 23, 26, 173719), 'id': 58130, 'multiplier': 0, 'name': '500GB WD Blue 5400rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5010, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 45, 43, 79046)}, 58134: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01CG0DD1E/ref=olp_twister_child?ie=UTF8&mv_size_name=2\r\n' '\r\n' 'Seagate Exos 7E8 4TB ' '512n SATA 128MB Cache ' '3.5-Inch Enterprise ' 'Hard Drive ' '(ST4000NM0035)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 210.0, 'created': datetime.datetime(2016, 2, 21, 18, 50, 38, 188626), 'id': 58134, 'multiplier': 0, 'name': '4TB Seagate Exos 3.5-inch ' 'SATA 6Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 48, 50, 94093)}, 58135: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01N95NM6L/ref=olp_twister_child?ie=UTF8&mv_size_name=1\r\n' '\r\n' 'Seagate Exos 7E2 2TB ' 'SATA 6Gb/s 128MB Cache ' '3.5-Inch Enterprise ' 'Hard Drive ' '(ST2000NM0008) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 140.0, 'created': datetime.datetime(2016, 2, 21, 18, 51, 31, 950847), 'id': 58135, 'multiplier': 0, 'name': '2TB Seagate Exos 3.5-inch ' 'SATA 6Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 48, 34, 24897)}, 58220: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01IY9USY6/ref=olp_twister_child?ie=UTF8&mv_size_name=0\r\n' '\r\n' 'WD Gold 1TB Enterprise ' 'Class Hard Disk Drive ' '- 7200 RPM Class SATA ' '6 Gb/s 128MB Cache 3.5 ' 'Inch - WD1005FBYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 100.0, 'created': datetime.datetime(2016, 3, 8, 20, 40, 17, 15465), 'id': 58220, 'multiplier': 0, 'name': '1TB WD Gold Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': 0.0, 'published': True, 'sortorder': 5016, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 18, 47, 527541)}, 58221: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.wdc.com/products/business-internal-storage/wd-re.html#WD5003ABYZ\r\n' '\r\n' 'WD Re Data ' 'Canter/Enterprise 7200 ' 'RPM SATA 6Gb/s ' '3.5-inch Hard Disk ' 'Drive.\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 50.0, 'created': datetime.datetime(2016, 3, 8, 20, 47, 38, 946332), 'id': 58221, 'multiplier': 0, 'name': '500GB WD Re (Data Center) ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': 0.0, 'published': True, 'sortorder': 5016, 'source': '', 'updated': datetime.datetime(2019, 3, 25, 14, 0, 25, 392003)}, 58222: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01AV1697A/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'WD Gold 4TB Enterprise ' 'Class Hard Disk Drive ' '- 7200 RPM Class SATA ' '6 Gb/s 128MB Cache 3.5 ' 'Inch - WD4002FYYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 195.0, 'created': datetime.datetime(2016, 3, 8, 20, 54, 2, 754707), 'id': 58222, 'multiplier': 0, 'name': '4TB WD Gold Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': 0.0, 'published': True, 'sortorder': 5016, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 19, 0, 242131)}, 58223: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01AV168FS/ref=olp_twister_child?ie=UTF8&mv_size_name=3\r\n' '\r\n' 'WD Gold 6TB Enterprise ' 'Class Hard Disk Drive ' '- 7200 RPM Class SATA ' '6 Gb/s 128MB Cache 3.5 ' 'Inch - WD6002FRYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 270.0, 'created': datetime.datetime(2016, 3, 8, 21, 2, 14, 87230), 'id': 58223, 'multiplier': 0, 'name': '6TB WD Gold Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': 0.0, 'published': True, 'sortorder': 5016, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 19, 9, 990647)}, 58224: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01IY9UTMM/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'WD Gold 2TB Enterprise ' 'Class Hard Disk Drive ' '- 7200 RPM Class SATA ' '6 Gb/s 128MB Cache 3.5 ' 'Inch - WD2005FBYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 140.0, 'created': datetime.datetime(2016, 3, 8, 21, 11, 2, 91489), 'id': 58224, 'multiplier': 0, 'name': '2TB WD Gold Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': 0.0, 'published': True, 'sortorder': 5016, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 11, 18, 53, 365450)}, 59311: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZ7LM240HMHQ\r\n' '\r\n' '$122 (Ref. By Joe)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 136.0, 'created': datetime.datetime(2018, 4, 4, 14, 10, 6, 341634), 'id': 59311, 'multiplier': 0, 'name': '240GB Samsung PM ' 'Enterprise 2.5-inch SATA6 ' 'SDD', 'price': None, 'published': True, 'sortorder': 4502, 'source': '', 'updated': datetime.datetime(2018, 8, 3, 19, 48, 45, 177797)}, 59312: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' '$220 MZ7LM480HMHQ\r\n' '\r\n' '(Ref. By Joe)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 242.0, 'created': datetime.datetime(2018, 4, 4, 14, 11, 26, 592271), 'id': 59312, 'multiplier': 0, 'name': '480GB Samsung PM ' 'Enterprise 2.5-inch SATA6 ' 'SDD', 'price': None, 'published': True, 'sortorder': 4502, 'source': '', 'updated': datetime.datetime(2018, 8, 29, 13, 41, 18, 49301)}, 59313: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZ7LM960HMJP\r\n' '\r\n' '$414 (Ref. By Joe)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 456.0, 'created': datetime.datetime(2018, 4, 4, 14, 12, 11, 119368), 'id': 59313, 'multiplier': 0, 'name': '960GB Samsung PM ' 'Enterprise 2.5-inch SATA6 ' 'SDD', 'price': None, 'published': True, 'sortorder': 4502, 'source': '', 'updated': datetime.datetime(2018, 8, 3, 19, 46, 58, 50673)}, 59314: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZ7LM1T9HMJP\r\n' '\r\n' '(Ref. By Joe)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 884.0, 'created': datetime.datetime(2018, 4, 4, 14, 12, 52, 545984), 'id': 59314, 'multiplier': 0, 'name': '1.92TB Samsung PM ' 'Enterprise 2.5-inch SATA6 ' 'SDD', 'price': None, 'published': True, 'sortorder': 4502, 'source': '', 'updated': datetime.datetime(2018, 5, 3, 14, 19, 16, 785481)}, 59315: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZ7LM3T8HMLP\r\n' '\r\n' '(Ref. By Joe)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 1767.0, 'created': datetime.datetime(2018, 4, 4, 14, 13, 35, 194204), 'id': 59315, 'multiplier': 0, 'name': '3.84TB Samsung PM ' 'Enterprise 2.5-inch SATA6 ' 'SDD', 'price': None, 'published': True, 'sortorder': 4502, 'source': '', 'updated': datetime.datetime(2018, 5, 3, 14, 19, 46, 903776)}, 59335: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'https://www.amazon.com/gp/offer-listing/B01M8HPL6Q/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Western Digital Green ' '2.5" 120GB SATA3 SSD ' 'WDS120G1G0A \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 65.0, 'created': datetime.datetime(2018, 4, 6, 14, 55, 43, 98969), 'id': 59335, 'multiplier': 0, 'name': '120GB WD Green 2.5-inch ' 'SATA6 SSD', 'price': None, 'published': True, 'sortorder': 4520, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 14, 41, 556351)}, 59336: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'https://www.amazon.com/gp/offer-listing/B076Y374ZH/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Western Digital SSD ' 'WDS240G2G0A 240GB SATA ' 'III 6Gb s 2.5 7mm WD ' 'Green Retail \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 95.0, 'created': datetime.datetime(2018, 4, 6, 14, 56, 55, 610890), 'id': 59336, 'multiplier': 0, 'name': '240GB WD Green 2.5-inch ' 'SATA6 SSD', 'price': None, 'published': True, 'sortorder': 4520, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 14, 47, 423382)}, 59337: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'https://www.amazon.com/gp/offer-listing/B073SB2MXW/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'WD Blue 3D NAND 250GB ' 'PC SSD - SATA III 6 ' 'Gb/s 2.5"/7mm Solid ' 'State Drive - ' 'WDS250G2B0A \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 93.0, 'created': datetime.datetime(2018, 4, 6, 14, 59, 45, 683517), 'id': 59337, 'multiplier': 0, 'name': '250GB WD Blue 3D NAND ' '2.5-inch SATA6 SSD', 'price': None, 'published': True, 'sortorder': 4521, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 11, 49, 252598)}, 59338: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'https://www.amazon.com/gp/offer-listing/B073SBZ8YH/ref=olp_twister_child?ie=UTF8&mv_size_name=3\r\n' '\r\n' 'WD Blue 3D NAND 500GB ' 'PC SSD - SATA III 6 ' 'Gb/s 2.5"/7mm Solid ' 'State Drive - ' 'WDS500G2B0A \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 149.0, 'created': datetime.datetime(2018, 4, 6, 15, 0, 38, 709842), 'id': 59338, 'multiplier': 0, 'name': '500GB WD Blue 3D NAND ' '2.5-inch SATA6 SSD', 'price': None, 'published': True, 'sortorder': 4521, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 11, 57, 824484)}, 59339: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'https://www.amazon.com/gp/offer-listing/B073SBQMCX/ref=olp_twister_child?ie=UTF8&mv_size_name=0\r\n' '\r\n' 'WD Blue 3D NAND 1TB PC ' 'SSD - SATA III 6 Gb/s ' '2.5"/7mm Solid State ' 'Drive - WDS100T2B0A\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 273.0, 'created': datetime.datetime(2018, 4, 6, 15, 1, 14, 588119), 'id': 59339, 'multiplier': 0, 'name': '1TB WD Blue 3D NAND ' '2.5-inch SATA6 SSD', 'price': None, 'published': True, 'sortorder': 4521, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 12, 8, 126917)}, 59340: {'blurb': '', 'choicecategory_id': 58832, 'comment': 'https://www.amazon.com/gp/offer-listing/B073SBRHH6/ref=olp_twister_child?ie=UTF8&mv_size_name=1\r\n' '\r\n' 'WD Blue 3D NAND 2TB PC ' 'SSD - SATA III 6 Gb/s ' '2.5"/7mm Solid State ' 'Drive - ' 'WDS200T2B0A \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 537.0, 'created': datetime.datetime(2018, 4, 6, 15, 1, 50, 539182), 'id': 59340, 'multiplier': 0, 'name': '2TB WD Blue 3D NAND ' '2.5-inch SATA6 SSD', 'price': None, 'published': True, 'sortorder': 4521, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 12, 14, 353749)}, 59392: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP6ACPO/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=7\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '2000GB 7200RPM SATA ' '512E ULTRA SE 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F23029\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 240.0, 'created': datetime.datetime(2018, 4, 17, 10, 46, 56, 841075), 'id': 59392, 'multiplier': 0, 'name': '2TB HGST Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 16, 497947)}, 59393: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP6A08S/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=7\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '4000GB 7200RPM SATA ' '512E ULTRA SE 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F23025 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 298.0, 'created': datetime.datetime(2018, 4, 17, 10, 48, 31, 122431), 'id': 59393, 'multiplier': 0, 'name': '4TB HGST Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 22, 967376)}, 59394: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP69D18/ref=olp_twister_child?ie=UTF8&mv_size_name=2&mv_style_name=7\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '5000GB 7200RPM SATA ' '512E ULTRA SE 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F23023 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 368.0, 'created': datetime.datetime(2018, 4, 17, 10, 49, 13, 438493), 'id': 59394, 'multiplier': 0, 'name': '5TB HGST Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 29, 244702)}, 59395: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP68TK4/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '6000GB 7200RPM SATA ' '512E ULTRA SE 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F23021 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 370.0, 'created': datetime.datetime(2018, 4, 17, 10, 50, 37, 924968), 'id': 59395, 'multiplier': 0, 'name': '6TB HGST Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 34, 151032)}, 59426: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01N76CZII/ref=olp_twister_child?ie=UTF8&mv_size_name=0\r\n' '\r\n' 'Seagate Exos 7E2 1TB ' 'SATA 6Gb/s 128MB Cache ' '3.5-Inch Enterprise ' 'Hard Drive ' '(ST1000NM0008) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 90.0, 'created': datetime.datetime(2018, 4, 17, 15, 51, 10, 977343), 'id': 59426, 'multiplier': 0, 'name': '1TB Seagate Exos 3.5-inch ' 'SATA 6Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 48, 11, 964514)}, 59427: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01CG0DCTC/ref=olp_twister_child?ie=UTF8&mv_size_name=3\r\n' '\r\n' 'Seagate Exos 7E8 6TB ' '512e SATA 256MB Cache ' '3.5-Inch Enterprise ' 'Hard Drive ' '(ST6000NM0115) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.\r\n' '\r\n' '\r\n' 'online prices around ' '290-300 2/21/16 JJW', 'cost': 250.0, 'created': datetime.datetime(2018, 4, 17, 15, 57, 22, 398761), 'id': 59427, 'multiplier': 0, 'name': '6TB Seagate Exos 3.5-inch ' 'SATA 6Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 49, 8, 758887)}, 59443: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00IVOMJS8/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=3\r\n' '\r\n' 'HGST ULTRASTAR C15K600 ' '300GB 15000RPM SAS ' 'ULTRA 512N ISE ' 'Enterprise Hard Drive ' '300 sas 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives ' '0B28955 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 220.0, 'created': datetime.datetime(2018, 4, 18, 10, 22, 17, 938406), 'id': 59443, 'multiplier': 0, 'name': '300GB HGST Enterprise ' '15krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5150, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 18, 53, 53551)}, 59444: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00IVOMJOM/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=3\r\n' '\r\n' 'HGST ULTRASTAR C15K600 ' '450GB 15000RPM SAS ' 'ULTRA 512N ISE ' 'Enterprise Hard Drive ' '450 sas 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives ' '0B28954 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 325.0, 'created': datetime.datetime(2018, 4, 18, 10, 24, 31, 828619), 'id': 59444, 'multiplier': 0, 'name': '450GB HGST Enterprise ' '15krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5150, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 18, 55, 464330)}, 59445: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00IVOMJJ2/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'HGST ULTRASTAR C15K600 ' '600GB 15000RPM SAS ' 'ULTRA 512N ISE ' 'Enterprise Hard Drive ' '600 sas 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives ' '0B28953 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 365.0, 'created': datetime.datetime(2018, 4, 18, 10, 25, 41, 565637), 'id': 59445, 'multiplier': 0, 'name': '600GB HGST Enterprise ' '15krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5150, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 18, 57, 780841)}, 59449: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LL207N6/ref=olp_twister_child?ie=UTF8&mv_size_name=2&mv_style_name=6\r\n' '\r\n' 'HGST, a Western ' 'Digital company ' 'ULTRASTAR C10K1800 ' '300GB 10000RPM SAS ' 'ULTRA 512N ISE ' 'Enterprise Hard Drive ' 'SAS 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives, ' '(0B28810)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 165.0, 'created': datetime.datetime(2018, 4, 18, 10, 39, 19, 706905), 'id': 59449, 'multiplier': 0, 'name': '300GB HGST Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5151, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 22, 46, 464409)}, 59450: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LL21LJU/ref=olp_twister_child?ie=UTF8&mv_size_name=3&mv_style_name=1\r\n' '\r\n' 'HGST, a Western ' 'Digital company ' 'ULTRASTAR C10K1800 ' '450GB 10000RPM SAS ' 'ULTRA 4KN SE ' 'Enterprise Hard Drive ' 'SAS 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives, ' '(0B31237) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 195.0, 'created': datetime.datetime(2018, 4, 18, 10, 45, 32, 861529), 'id': 59450, 'multiplier': 0, 'name': '450GB HGST Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5151, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 22, 48, 517301)}, 59451: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LL1ZZYS/ref=olp_twister_child?ie=UTF8&mv_size_name=4&mv_style_name=6\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'Ultrastar C10K1800 ' 'HUC101860CSS200 600GB ' '10000RPM SAS 12Gb/s ' '512N ISE Enterprise ' 'Hard Drive SAS 128 MB ' 'Cache 2.5-Inch ' 'Internal Bare or OEM ' 'Drives, (0B28808) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 250.0, 'created': datetime.datetime(2018, 4, 18, 10, 46, 58, 724236), 'id': 59451, 'multiplier': 0, 'name': '600GB HGST Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5151, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 22, 50, 607674)}, 59452: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LL2005Q/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST, a Western ' 'Digital company ' 'ULTRASTAR C10K1800 ' '900GB 10000RPM SAS ' 'ULTRA 512N ISE ' 'Enterprise Hard Drive ' 'SAS 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives, ' '(0B27976) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 315.0, 'created': datetime.datetime(2018, 4, 18, 10, 48, 46, 538467), 'id': 59452, 'multiplier': 0, 'name': '900GB HGST Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5151, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 22, 52, 852972)}, 59453: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LL206TQ/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=6\r\n' '\r\n' 'HGST, a Western ' 'Digital company ' 'ULTRASTAR C10K1800 ' '1200GB 10000RPM SAS ' 'ULTRA 512N ISE ' 'Enterprise Hard Drive ' 'SAS 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives, ' '(0B28807) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 345.0, 'created': datetime.datetime(2018, 4, 18, 10, 51, 5, 466060), 'id': 59453, 'multiplier': 0, 'name': '1200GB HGST Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5151, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 22, 55, 339999)}, 59454: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LL20EKC/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=5\r\n' '\r\n' 'HGST, a Western ' 'Digital company ' 'ULTRASTAR C10K1800 ' '1800GB 10000RPM SAS ' 'ULTRA 512E TCG ' 'Enterprise Hard Drive ' 'sas 128 MB Cache ' '2.5-Inch Internal Bare ' 'or OEM Drives ' '0B30881 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 415.0, 'created': datetime.datetime(2018, 4, 18, 10, 53, 20, 901234), 'id': 59454, 'multiplier': 0, 'name': '1800GB HGST Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5151, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 22, 57, 512557)}, 59460: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'http://store.supermicro.com/300gb-hdd-2a300-al14seb030n.html\r\n' '\r\n' 'Supermicro (Toshiba) ' '300GB 2.5" 10000RPM ' 'SAS3 12Gb/s 128M ' 'Internal Hard Drive ' '(HDD-2A300-AL14SEB030N)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 130.0, 'created': datetime.datetime(2018, 4, 18, 11, 23, 36, 288705), 'id': 59460, 'multiplier': 0, 'name': '300GB Toshiba 10krpm ' '2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5171, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 35, 31, 55309)}, 59461: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B016YK86RI/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Supermicro (Toshiba) ' '600GB 2.5" 10000RPM ' 'SAS3 12Gb/s 128M ' 'Internal Hard Drive ' '(AL13SEB600).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 185.0, 'created': datetime.datetime(2018, 4, 18, 11, 26, 10, 46214), 'id': 59461, 'multiplier': 0, 'name': '600GB Toshiba 10krpm ' '2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5171, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 35, 34, 172235)}, 59462: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'http://store.supermicro.com/900gb-hdd-2a900k-al14seb09ep.html\r\n' '\r\n' 'Supermicro (Toshiba) ' '900GB 2.5" 10000RPM ' 'SAS3 12Gb/s 128M ' 'Internal Hard Drive ' '(HDD-2A900K-AL14SEB09EP)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 215.0, 'created': datetime.datetime(2018, 4, 18, 11, 34, 19, 107103), 'id': 59462, 'multiplier': 0, 'name': '900GB Toshiba 10krpm ' '2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5171, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 35, 36, 224358)}, 59463: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'http://store.supermicro.com/1-2tb-hdd-2a1200e-al14seb12eq.html\r\n' '\r\n' 'Supermicro (Toshiba) ' '1.2TB 2.5" 10000RPM ' 'SAS3 12Gb/s 128M ' 'Internal Hard Drive ' '(HDD-2A1200E-AL14SEB12EQ).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 270.0, 'created': datetime.datetime(2018, 4, 18, 11, 35, 29, 511358), 'id': 59463, 'multiplier': 0, 'name': '1.2TB Toshiba 10krpm ' '2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5171, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 35, 38, 178454)}, 59464: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'http://store.supermicro.com/1-8tb-hdd-2a1800e-al14seb18eq.html\r\n' '\r\n' 'Supermicro (Toshiba) ' '1.8TB 2.5" 10000RPM ' 'SAS3 12Gb/s 128M ' 'Internal Hard Drive ' '(HDD-2A1800E-AL14SEB18EQ).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 382.0, 'created': datetime.datetime(2018, 4, 18, 11, 37, 7, 248559), 'id': 59464, 'multiplier': 0, 'name': '1.8TB Toshiba 10krpm ' '2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5171, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 35, 41, 235259)}, 59478: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01I7SAHO0/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST 1W10001 1TB ' 'ULTRASTAR 7K2 SATA ' '7200 RPM 3.5IN 26.1MM ' '128MB ULTRA 512N ' 'SE.\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 135.0, 'created': datetime.datetime(2018, 4, 18, 15, 47, 0, 318786), 'id': 59478, 'multiplier': 0, 'name': '1TB HGST Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD ', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 10, 157541)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 9, 27, 16, 31, 12, 918289), 'defaultchoice_id': 59449, 'id': 59942, 'name': 'Storage Array', 'option_id': 58851, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 9, 27, 16, 32, 52, 351835)}), ('59873_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638e20>, '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)}, 21: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 145.0, 'created': datetime.datetime(2001, 1, 10, 16, 44, 54), 'id': 21, 'multiplier': None, 'name': 'Dual port Intel GbE Network ' 'card', 'price': 0.0, 'published': True, 'sortorder': 610, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 9, 337125)}, 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)}, 6390: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 163.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6390, 'multiplier': None, 'name': 'OpenBSD-qualified 4-port ' '800Mbps Server card', 'price': None, 'published': True, 'sortorder': 700, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 13, 225453)}, 6586: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Netgear GA621NA $185 ' '4/21/2004', 'cost': 194.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6586, 'multiplier': None, 'name': 'Netgear 621 1000BaseSX (SC ' 'Fiber)', 'price': None, 'published': True, 'sortorder': 721, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 89279)}, 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)}, 6871: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 172.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6871, 'multiplier': None, 'name': 'RJ45 (1000BaseTX) ' '32bit-PCI card', 'price': None, 'published': True, 'sortorder': 700, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 13, 259625)}, 6872: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 610.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6872, 'multiplier': None, 'name': '1000BaseSX 64bit-PCI ' 'Server-card', 'price': None, 'published': True, 'sortorder': 700, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 13, 495995)}, 9885: {'blurb': '', 'choicecategory_id': 43905, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9885, 'multiplier': None, 'name': 'Sound Blaster X-Fi Xtreme ' 'Audio', 'price': None, 'published': True, 'sortorder': 1924, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 15, 552542)}, 9887: {'blurb': '', 'choicecategory_id': 43905, 'comment': None, 'cost': 250.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9887, 'multiplier': None, 'name': 'Sound Blaster Audigy 4 Pro ' '7.1 PCI', 'price': None, 'published': True, 'sortorder': 1923, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 15, 527073)}, 11122: {'blurb': '', 'choicecategory_id': 43904, 'comment': None, 'cost': 35.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11122, 'multiplier': None, 'name': 'ATI Radeon 9250 AGP 128 ' 'MB DDR TV-in&out,DVI', 'price': None, 'published': True, 'sortorder': 1906, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 11, 557652)}, 11136: {'blurb': '', 'choicecategory_id': 43905, 'comment': None, 'cost': 25.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11136, 'multiplier': None, 'name': 'Sound Blaster Audigy SE', 'price': None, 'published': True, 'sortorder': 1920, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 13, 744415)}, 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)}, 11584: {'blurb': '', 'choicecategory_id': 43906, 'comment': '3ware 7506-8LP', 'cost': 405.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11584, 'multiplier': None, 'name': '3ware Escalade 7506 8 ' 'port RAID card', 'price': None, 'published': True, 'sortorder': 2000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 16, 209207)}, 11597: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 75.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11597, 'multiplier': None, 'name': 'Netgear 302T 1000BaseTX ' '(RJ45)', 'price': None, 'published': True, 'sortorder': 720, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 55509)}, 13252: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 76.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13252, 'multiplier': None, 'name': 'Promise IDE RAID card ' '(2-port)', 'price': None, 'published': True, 'sortorder': 660, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 13, 39087)}, 13341: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 45.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13341, 'multiplier': None, 'name': 'v.90 56K modem LP PCI ' 'card', 'price': None, 'published': True, 'sortorder': 656, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 12, 633168)}, 13893: {'blurb': '', 'choicecategory_id': 43906, 'comment': None, 'cost': 320.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13893, 'multiplier': None, 'name': '3ware Escalade 7410 4 ' 'port RAID card', 'price': None, 'published': True, 'sortorder': 2000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 16, 151691)}, 13894: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 869.0, 'created': datetime.datetime(2008, 2, 28, 0, 0), 'id': 13894, 'multiplier': None, 'name': '3ware 9650SE 16-port RAID ' 'ML PCI-E', 'price': None, 'published': True, 'sortorder': 3064, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 869347)}, 15527: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Full-height or Low ' 'profile PCI-X ' 'PWLA8492MT or PCI-e ' 'Full-height EXP19402PT ' '7/27', 'cost': 156.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 15527, 'multiplier': None, 'name': 'Intel Pro/1000PT ' 'Dual-port Server Adapter ', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 344416)}, 15528: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'PWLA8490MF PCI-X ' '32/64bit Fullheight or ' 'lowprofile 7/27/06', 'cost': 440.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 15528, 'multiplier': None, 'name': 'Intel Pro/1000F ' 'Single-port Fiber Server ' 'Adapter', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 493844)}, 15805: {'blurb': '', 'choicecategory_id': 43906, 'comment': '3ware 7506-4LP (low ' 'profile)', 'cost': 250.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 15805, 'multiplier': None, 'name': '3ware Escalade 7506 4 ' 'port RAID card', 'price': None, 'published': True, 'sortorder': 2000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 16, 58281)}, 21216: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 849.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 21216, 'multiplier': None, 'name': 'Sangamo Single 514/ET1 ' 'PCI card', 'price': None, 'published': True, 'sortorder': 650, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 12, 448759)}, 21217: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 1199.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 21217, 'multiplier': None, 'name': 'Sangamo Dual 514/ET1 PCI ' 'card', 'price': None, 'published': True, 'sortorder': 650, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 12, 511579)}, 24403: {'blurb': '', 'choicecategory_id': 43904, 'comment': None, 'cost': 80.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 24403, 'multiplier': None, 'name': 'Hauppage WinTV-HVR-1110 ' 'TV Tuner Card', 'price': None, 'published': True, 'sortorder': 1900, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 9, 184784)}, 26083: {'blurb': '', 'choicecategory_id': 57595, 'comment': None, 'cost': 637.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 26083, 'multiplier': None, 'name': 'LSI 320-2 MegaRAID SCSI ' 'U320 card ', 'price': None, 'published': True, 'sortorder': 4002, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 40, 16, 96016)}, 27104: {'blurb': '', 'choicecategory_id': 43906, 'comment': '3ware 8506-2LP SATA', 'cost': 126.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 27104, 'multiplier': None, 'name': '3ware Escalade 8506 2 ' 'port RAID card', 'price': None, 'published': True, 'sortorder': 2000, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 15, 908838)}, 30846: {'blurb': '', 'choicecategory_id': 43908, 'comment': None, 'cost': 68.0, 'created': datetime.datetime(2005, 2, 23, 0, 0), 'id': 30846, 'multiplier': None, 'name': 'Firewire PCI card', 'price': None, 'published': True, 'sortorder': 2601, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 19, 525807)}, 31516: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 135.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31516, 'multiplier': None, 'name': 'Intel Dual Port Gigabit ' 'Ethernet card', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 297102)}, 33700: {'blurb': '', 'choicecategory_id': 43904, 'comment': None, 'cost': 35.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 33700, 'multiplier': None, 'name': 'Asus My Cinema P7131', 'price': None, 'published': True, 'sortorder': 1900, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 8, 766140)}, 33903: {'blurb': '', 'choicecategory_id': 43904, 'comment': 'Hauppauge ' 'WinTV-PVR150MCE-LP ' '(Low Profile) PCI ' 'Video Capture TV Tuner ' '$80 feb07', 'cost': 119.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 33903, 'multiplier': None, 'name': 'HDTV HD-5500 TV Tuner ' 'Card', 'price': None, 'published': True, 'sortorder': 1900, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 9, 242507)}, 34816: {'blurb': '', 'choicecategory_id': 43896, 'comment': 'Routerboard RB24 ' 'Mikrotik products) our ' 'cost $ 100.00 ..TL', 'cost': 100.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 34816, 'multiplier': None, 'name': '4 port GbE Network card - ' 'Routerboard', 'price': None, 'published': True, 'sortorder': 614, 'source': '', 'updated': datetime.datetime(2015, 11, 18, 13, 44, 58, 157923)}, 35107: {'blurb': '', 'choicecategory_id': 43911, 'comment': '10/27/15 JJW\r\n' 'removed SATA "II ' '8204ELP"', 'cost': 170.0, 'created': datetime.datetime(2007, 6, 26, 0, 0), 'id': 35107, 'multiplier': None, 'name': 'LSI Logic MegaRAID SATA ' '4-Port ', 'price': None, 'published': True, 'sortorder': 4006, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 465996)}, 36108: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 180.0, 'created': datetime.datetime(2007, 10, 5, 0, 0), 'id': 36108, 'multiplier': None, 'name': '3ware 9650SE 2-port RAID ' 'LP PCI-E', 'price': None, 'published': True, 'sortorder': 3053, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 596762)}, 36521: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 40.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36521, 'multiplier': None, 'name': 'Single port GbE Network ' 'card', 'price': None, 'published': True, 'sortorder': 610, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 9, 273714)}, 36522: {'blurb': '', 'choicecategory_id': 43896, 'comment': None, 'cost': 375.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36522, 'multiplier': None, 'name': 'Quad Port Intel GbE ' 'Network card', 'price': None, 'published': True, 'sortorder': 610, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 9, 748911)}, 36829: {'blurb': '', 'choicecategory_id': 43904, 'comment': None, 'cost': 85.0, 'created': datetime.datetime(2008, 1, 18, 0, 0), 'id': 36829, 'multiplier': None, 'name': 'NVIDIA GeForce 9600GT 1GB ' 'Dual DVI;HDMI', 'price': None, 'published': True, 'sortorder': 1903, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 10, 639803)}, 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)}, 37116: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 1076.0, 'created': datetime.datetime(2008, 2, 28, 0, 0), 'id': 37116, 'multiplier': None, 'name': '3ware 9650SE 24-port RAID ' 'ML PCI-E ', 'price': None, 'published': True, 'sortorder': 3065, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 905815)}, 37118: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 701.0, 'created': datetime.datetime(2008, 2, 28, 0, 0), 'id': 37118, 'multiplier': None, 'name': '3ware 9650SE 12-port RAID ' 'ML PCI-E', 'price': None, 'published': True, 'sortorder': 3062, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 833095)}, 37119: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 465.0, 'created': datetime.datetime(2008, 2, 28, 0, 0), 'id': 37119, 'multiplier': None, 'name': '3ware 9550SXU 8-port RAID ' 'LP PCI-X', 'price': None, 'published': True, 'sortorder': 3059, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 722985)}, 37122: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 302.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 37122, 'multiplier': None, 'name': '3ware 9550SXU 4-port RAID ' 'LP PCI-X', 'price': None, 'published': True, 'sortorder': 3054, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 668968)}, 37123: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 323.0, 'created': datetime.datetime(2008, 2, 28, 0, 0), 'id': 37123, 'multiplier': None, 'name': '3ware 9650SE 4-port RAID ' 'LP PCI-E', 'price': None, 'published': True, 'sortorder': 3054, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 22, 695135)}, 37214: {'blurb': '', 'choicecategory_id': 43897, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2008, 3, 1, 0, 0), 'id': 37214, 'multiplier': None, 'name': 'eSATA PCI card for ' 'external storage, 2-port', 'price': None, 'published': True, 'sortorder': 805, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 17, 186347)}, 37215: {'blurb': '', 'choicecategory_id': 43897, 'comment': None, 'cost': 75.0, 'created': datetime.datetime(2008, 3, 2, 0, 0), 'id': 37215, 'multiplier': None, 'name': 'eSATA PCI card for ' 'external storage, 4-port', 'price': None, 'published': True, 'sortorder': 805, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 17, 289225)}, 37225: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 160.0, 'created': datetime.datetime(2008, 3, 2, 0, 0), 'id': 37225, 'multiplier': None, 'name': 'LSI Logic SA3041E-R ' '4-port 3Gb/s SAS RAID ' 'Adapter', 'price': None, 'published': True, 'sortorder': 4010, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 24, 130691)}, 37226: {'blurb': '', 'choicecategory_id': 43911, 'comment': 'Upd for sata3, ' 'genericize 2/21/15 JJW', 'cost': 465.0, 'created': datetime.datetime(2008, 3, 2, 0, 0), 'id': 37226, 'multiplier': None, 'name': '3ware 9000-series RAID 8 ' 'ports SAS/SATA3 LP PCI-E', 'price': None, 'published': True, 'sortorder': 3079, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 23, 4131)}, 46983: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 484.0, 'created': datetime.datetime(2010, 6, 17, 14, 46, 38, 402912), 'id': 46983, 'multiplier': None, 'name': 'LSI Logic MegaRAID SAS ' 'LSI9260-8i 8-portx4 RAID ', 'price': None, 'published': True, 'sortorder': 4015, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 24, 305780)}, 46994: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 758.0, 'created': datetime.datetime(2010, 6, 17, 15, 36, 4, 867069), 'id': 46994, 'multiplier': None, 'name': 'LSI Logic MegaRAID SAS ' 'LSI9280DE 8-portx4 RAID ', 'price': None, 'published': True, 'sortorder': 4018, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 24, 389592)}, 46995: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 375.0, 'created': datetime.datetime(2010, 6, 17, 15, 37, 49, 14517), 'id': 46995, 'multiplier': None, 'name': '3ware 9750-4I for RAID ' '0,1,5,6,10,50,S,JBOD ' '4-port', 'price': None, 'published': True, 'sortorder': 3092, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 23, 47312)}, 46996: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 539.0, 'created': datetime.datetime(2010, 6, 17, 15, 38, 35, 750714), 'id': 46996, 'multiplier': None, 'name': '3ware 9750-8I for RAID ' '0,1,5,6,10,50,S,JBOD ' '8-port', 'price': None, 'published': True, 'sortorder': 3093, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 23, 90246)}, 48301: {'blurb': '', 'choicecategory_id': 43911, 'comment': '', 'cost': 165.0, 'created': datetime.datetime(2011, 3, 24, 11, 48, 47, 819572), 'id': 48301, 'multiplier': None, 'name': 'LSI Logic 9211-4i ' 'SAS/SATA 4-port', 'price': None, 'published': True, 'sortorder': 4022, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 24, 504646)}, 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)}, 57586: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 696.0, 'created': datetime.datetime(2015, 11, 26, 22, 36, 46, 630012), 'id': 57586, 'multiplier': 0, 'name': '10GbE Latest Intel ' '2-port ', 'price': None, 'published': True, 'sortorder': 611, 'source': '', 'updated': datetime.datetime(2015, 11, 26, 22, 36, 46, 630034)}, 57587: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 696.0, 'created': datetime.datetime(2015, 11, 26, 22, 37, 26, 800927), 'id': 57587, 'multiplier': 0, 'name': '10GbE Latest Intel ' '4-port ', 'price': None, 'published': True, 'sortorder': 611, 'source': '', 'updated': datetime.datetime(2015, 11, 26, 22, 37, 26, 800950)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 5, 3, 14, 25, 27, 745375), 'defaultchoice_id': 30, 'id': 59873, 'name': 'PCI-e x16', 'option_id': 5929, 'product_id': 59003, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2019, 5, 3, 14, 37, 27, 528962)}), ('59854_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed6389a0>, '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)}, 15755: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 32.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15755, 'multiplier': None, 'name': 'Sliding Rails for 1U GRID ' 'chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 833111)}, 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)}, 15758: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 39.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15758, 'multiplier': None, 'name': 'Sliding Rails, 20", for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 879585)}, 15759: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 43.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15759, 'multiplier': None, 'name': 'Sliding Rails, 26", for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 38786)}, 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)}, 15763: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15763, 'multiplier': None, 'name': 'Rear Mount Brackets for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1162, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 296366)}, 15764: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15764, 'multiplier': None, 'name': 'Center Mount Brackets for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1162, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 337783)}, 28682: {'blurb': '', 'choicecategory_id': 43902, 'comment': 'included in iBOX (KRI)', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 28682, 'multiplier': None, 'name': 'Sliding rails included', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 803179)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 109679), 'defaultchoice_id': 30, 'id': 59854, 'name': 'Rails and Brackets', 'option_id': 15765, 'product_id': 59003, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2019, 4, 29, 16, 45, 7, 807362)}), ('59847_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638640>, '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(2019, 4, 26, 18, 50, 33, 87353), 'defaultchoice_id': 8260, 'id': 59847, 'name': 'Operating System', 'option_id': 7, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 4, 29, 16, 45, 42, 775255)}), ('59846_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638790>, 'allowed_quantities': '', 'choices': {59695: {'blurb': 'Firewall Security ' 'Software', 'choicecategory_id': 57106, 'comment': '16 APR 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 4, 15, 16, 49, 45, 314913), 'id': 59695, 'multiplier': 0, 'name': 'OpenBSD PF', 'price': None, 'published': True, 'sortorder': 4000, 'source': '', 'updated': datetime.datetime(2019, 4, 15, 16, 49, 45, 314935)}, 59696: {'blurb': 'Firewall Security ' 'Software', 'choicecategory_id': 57106, 'comment': '16 APR 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 4, 15, 16, 50, 24, 753252), 'id': 59696, 'multiplier': 0, 'name': 'PFSense', 'price': None, 'published': True, 'sortorder': 4001, 'source': '', 'updated': datetime.datetime(2019, 4, 15, 16, 50, 24, 753276)}, 59697: {'blurb': 'Firewall Security ' 'Software', 'choicecategory_id': 57106, 'comment': '16 APR 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 4, 15, 16, 50, 54, 736303), 'id': 59697, 'multiplier': 0, 'name': 'OPENsense', 'price': None, 'published': True, 'sortorder': 4002, 'source': '', 'updated': datetime.datetime(2019, 4, 15, 16, 57, 30, 382499)}, 59698: {'blurb': '', 'choicecategory_id': 57106, 'comment': '16 APR 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 4, 15, 16, 53, 17, 683116), 'id': 59698, 'multiplier': 0, 'name': 'Other (Specify in Note ' 'Field)', 'price': None, 'published': True, 'sortorder': 9000, 'source': '', 'updated': datetime.datetime(2019, 4, 15, 16, 56, 11, 724646)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 4, 26, 18, 50, 33, 84294), 'defaultchoice_id': 59695, 'id': 59846, 'name': 'Software', 'option_id': 18042, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 4, 29, 16, 50, 7, 534869)}), ('59844_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed638a00>, 'allowed_quantities': '', 'choices': {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(2019, 4, 26, 18, 50, 33, 77880), 'defaultchoice_id': 18049, 'id': 59844, 'name': 'Warranty', 'option_id': 18048, 'product_id': 59003, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 4, 29, 16, 48, 28, 745803)})]), 'published': True, 'qty': 1, 'sku': 'TWINGUARD.PRO', 'sortorder': 30, 'summary': '', 'title': 'eRacks/TWINGUARD.PRO', 'totprice': 3995.0, 'updated': datetime.datetime(2020, 1, 6, 18, 30, 56, 390934), 'weight': 49}

No GET data

No POST data

SQL queries from 1 connection

  •   default 635.18 ms (106 queries including 104 similar and 98 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('TWINGUARD.PRO')
 ORDER BY
"products"."sortorder" ASC, "products"."sku" ASC
SELECT ••• FROM "products" WHERE UPPER("products"."sku"::text) = UPPER('TWINGUARD.PRO') ORDER BY "products"."sortorder" ASC, "products"."sku" ASC
0.8352395101469665%
5.31

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 58147
SELECT ••• FROM "categories" WHERE "categories"."id" = 58147
0.17926945445182058%
1.14

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59003
 ORDER BY
"options"."sortorder" ASC
SELECT ••• FROM "prodopts" INNER JOIN "options" ON ("prodopts"."optionid" = "options"."id") WHERE "prodopts"."productid" = 59003 ORDER BY "options"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.597660188292984%
10.15

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59851
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59851
  22 similar queries.   Duplicated 2 times.
0.7094956507638845%
4.51

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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 (59706)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59706) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  6 similar queries.   Duplicated 2 times.
1.439410602872365%
9.14

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59845
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59845 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
0.6277058389442621%
3.99

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (59054, 59064, 59055, 59056, 59057, 59059, 59053, 59060, 59041, 59038, 59042, 59062, 59048, 59039, 59049, 59050, 59051, 59052, 59095, 59103, 59104, 59098, 59099, 59100, 59101, 59102, 59116, 59086, 59087, 59097, 59092, 59117, 59089, 59093, 59094, 59090)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59054, 59064, 59055, 59056, 59057, 59059, 59053, 59060, 59041, 59038, 59042, 59062, 59048, 59039, 59049, 59050, 59051, 59052, 59095, 59103, 59104, 59098, 59099, 59100, 59101, 59102, 59116, 59086, 59087, 59097, 59092, 59117, 59089, 59093, 59094, 59090) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.423608165618551%
9.04

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 6564
SELECT ••• FROM "options" WHERE "options"."id" = 6564
  22 similar queries.   Duplicated 2 times.
0.7200055852794854%
4.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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 59852
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59852
  22 similar queries.   Duplicated 2 times.
0.3451387423962501%
2.19

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59852
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59852 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
1.6475073062812622%
10.46

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(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 (56620, 56621, 56622, 56623, 56624, 59225)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (56620, 56621, 56622, 56623, 56624, 59225) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.0044494558481405%
6.38

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 58362
SELECT ••• FROM "options" WHERE "options"."id" = 58362
  22 similar queries.   Duplicated 2 times.
0.08306601815365974%
0.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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(199)
  opts [lineid] ['name'] = po.calc_name
/home/joe/eracks12/web/apps/products/models.py in calc_name(477)
  return self.name or self.option.name  # or self.option.display_name
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 59942
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59942
  22 similar queries.   Duplicated 2 times.
0.1333635619068925%
0.85

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"options_choices"
    ON
("choices"."id" = "options_choices"."choice_id")
 WHERE
"options_choices"."option_id" = 58851
 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" = 58851 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
2.184001927822274%
13.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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (59311, 59312, 59313, 59314, 59315, 59335, 59336, 59337, 59338, 59339, 59340, 59478, 59392, 59393, 59394, 59395, 59426, 58135, 58134, 59427, 58130, 56683, 58037, 58036, 58034, 58035, 58221, 58220, 58224, 58222, 58223, 59443, 59444, 59445, 59449, 59450, 59451, 59452, 59453, 59454, 59460, 59461, 59462, 59463, 59464)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59311, 59312, 59313, 59314, 59315, 59335, 59336, 59337, 59338, 59339, 59340, 59478, 59392, 59393, 59394, 59395, 59426, 58135, 58134, 59427, 58130, 56683, 58037, 58036, 58034, 58035, 58221, 58220, 58224, 58222, 58223, 59443, 59444, 59445, 59449, 59450, 59451, 59452, 59453, 59454, 59460, 59461, 59462, 59463, 59464) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.6232218504541418%
10.31

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59873
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59873
  22 similar queries.   Duplicated 2 times.
0.7058171736834242%
4.48

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(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" = 5929
 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" = 5929 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
0.986845315534509%
6.27

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 19, 36521, 21, 36522, 48396, 48397, 48398, 57587, 57586, 20, 34816, 22, 11291, 21216, 21217, 13341, 13252, 6390, 6871, 6872, 11597, 6586, 6587, 31516, 15527, 15528, 36914, 25, 37214, 37215, 33700, 24403, 33903, 36829, 11122, 11136, 9887, 9885, 27104, 15805, 13893, 11584, 30846, 36108, 37122, 37123, 37119, 37118, 13894, 37116, 37226, 46995, 46996, 26083, 35107, 37225, 46983, 46994, 48301)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 19, 36521, 21, 36522, 48396, 48397, 48398, 57587, 57586, 20, 34816, 22, 11291, 21216, 21217, 13341, 13252, 6390, 6871, 6872, 11597, 6586, 6587, 31516, 15527, 15528, 36914, 25, 37214, 37215, 33700, 24403, 33903, 36829, 11122, 11136, 9887, 9885, 27104, 15805, 13893, 11584, 30846, 36108, 37122, 37123, 37119, 37118, 13894, 37116, 37226, 46995, 46996, 26083, 35107, 37225, 46983, 46994, 48301) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.0875154740018%
6.91

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"options_choices"
    ON
("choices"."id" = "options_choices"."choice_id")
 WHERE
"options_choices"."option_id" = 15765
 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" = 15765 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
0.8144448539982418%
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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 28682, 15755, 15758, 15756, 15759, 15761, 15762, 15763, 15764)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 28682, 15755, 15758, 15756, 15759, 15761, 15762, 15763, 15764) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.49843364440237137%
3.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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 59847
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59847
  22 similar queries.   Duplicated 2 times.
1.2904322811137228%
8.20

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(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" = 59846
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59846
  22 similar queries.   Duplicated 2 times.
1.383858091861332%
8.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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(499)
  if self.choices.count():  # POCs - yuk - TODO: remove them
  +
SELECT "choices"."id"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 59846
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59846 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
0.0834038374773755%
0.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(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(500)
  return self._corrected_choices (list (self.choices.values_list ('id', flat=True)))
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (59695, 59696, 59697, 59698)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59695, 59696, 59697, 59698) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.9220966118223252%
5.86

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59003 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 59003 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
2.186666946931587%
13.89

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(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" = 59003 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 59003 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
0.16733317168053102%
1.06

Connection: default

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

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

  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."produc