eRacks/DAS45

eRacks/DAS45 or Direct Attached Storage (JBOD) system comes with total Extreme High Density and High Capacity 4U Top-Loaded Storage Chassis supporting 45 x 3.5" Top Loading SAS/SATA 12Gb/s Hot Swapping HDDs or 2.5-inch Hard Disk or Solid-State drives (SSD) with 3.52.5-inch to 2.5-inchHard Disk Caddy”. eRacks/DAS45 system provides additional capacity to a storage architecture of a new or existing server and optimized for medium or large size Enterprises.

With 45 hot-swap 3.5-inch Hard drives this system could provide up to 540TB (45x 12TB) of raw storage. While with 15.36TB Samsung Enterprise 2.5-inch SAS3 (12Gb/s) SSD Drives this system is capable to support you with up to 690TB (45x 15.36TB) of raw storage. Note that equal number of additional/add one component “Hard Disk Caddy” is required for holding the SSD on 3.5-inch hot-swap drive bays.

As starting config. we offer DAS45 system with 45x 1TB Seagate Enterprise 7200rpm 3.5-inch SAS12 HDDs with totaling 45TB of raw storage. The top capacity of available Disks is 12TB with both either SAS3 (12Gb/s) drives or SATA3 (6Gb/s) interface supported drives for having complete control over the data read & write speed.

The drives can be used as individual logical volumes or configured as a RAID using a RAID card or software. This disk drive platform provides workflow flexibility and control of data storage and backup strategies that can reduce the need for multiple external hard drives with minimal cost.

For advance system cooling 5x 80mm rear hot-swap exhaust PWM fans are attached with the system chassis while an IPMI port for Remote System Management.

For powering the entire systems, DAS45 has eRacks System certified 1600W Redundant Platinum Power Supply.

 

As always, our eRacks/DAS45 always comes with “Standard 1yr full /3yr limited warranty”. You could select “Extended 2yr full / 3yr limited warranty” or “Premium full 3yr warranty” as optional from dropdown choice list.

 

Note:  we can help you choose the right DAS to fit your needs. If you need to connect more than one server or All-Flash storage array, please contact us via email and let us know your requirements.


Features & Specifications

  • 1. Extreme High Density and High Capacity Storage Chassis support 45 x 3.5" Top Loading SAS/SATA 12Gb/s Hot Swapping HDD/SSD Bays.
  • 2. Tool-less HDD tray with HDD LED indicator.
  • 3. Single Expander Backplane Boards support SAS3/2 HDDs with 12Gb/s throughput.
  • 4. 4 x Mini-SAS HD ports for Internal / External Cascading Expander Combination for high performance, high availability or high redundancy requirements.
  • 5. 1x IPMI port for Remote System Power on/off and system monitoring.
  • 6. Support NTP for time synchronization & RTC battery backup.
  • 7. 1600W (1+1) Redundant High-efficiency Platinum Level Power Supplies.
  • 8. Optimized cooling w/ 5x 80x38mm rear hot-swap fans.
  • 9. Support front LCD panel for system status & error info (Option).
  • 10. Ideal for Cloud backup, data Replication or High-density Archive Storage Applications.

Configure eRacks/DAS45

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: $ 14995.00 As Configured: $ 14995.00
Configuration Summary:
Default Configuration
Option Choices More Info Add/Subtract
ChassisRackmount/DAS45 4U-45RHD Top Load
Power SupplyeRacks/1600W Redundant Platinum Power Supply
RAID ConfigurationRAID 50 (nested / striped with parity)
Hard Drive Array1TB Seagate Exos Enterprise 3.5-inch SAS 12Gb/s Hard Drive
SAS/SATA Controller CardLSI Logic MegaRAID SAS LSI9260-8i 8-portx4 RAID
System MonitoringIPMI port for Remote System Management
System Cooling80mm rear hot-swap exhaust PWM fan
Add-ons (Require For SSDs)none
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 4383.557 msec
System CPU time 595.012 msec
Total CPU time 4978.569 msec
Elapsed time 16226.125 msec
Context switches 6 voluntary, 1556 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 0x7f253b3d18b0>
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 Tue, 07 Apr 2020 18:13:02 KST
User-Agent CCBot/2.0 (https://commoncrawl.org/faq/)
X-Forwarded-For 34.204.198.244
X-Forwarded-Protocol ssl
X-Real-Ip 34.204.198.244

Response headers

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

WSGI environ

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

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

Request

View information

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

No cookies

Session data

Variable Value
'prod' {'baseoptions': '', 'baseprice': 14995.0, 'blurb': '<p style="text-align:justify"><a ' 'href="https://eracks.com/products/rackmount-direct-attached-storage/DAS45/" ' 'target="_blank"><strong><em><span style="font-family:source sans ' 'pro,sans-serif"><img alt="" ' 'src="/media/images/products/das/das45/das45_front.png" ' 'style="float:left; height:113px; margin:5px; width:150px" ' '/>eRacks/DAS45</span></em></strong></a><span ' 'style="font-family:source sans pro,sans-serif"><a ' 'href="https://eracks.com/products/rackmount-direct-attached-storage/DAS45/" ' 'target="_blank"> </a>or Direct Attached Storage (JBOD) system comes ' 'with total Extreme High Density and High Capacity <strong><em>4U ' 'Top-Loaded</em></strong> Storage Chassis supporting <strong><em>45 ' 'x 3.5&quot; Top Loading SAS/SATA 12Gb/s Hot Swapping ' 'HDD</em>s</strong> or<strong><em> 2.5-inch Hard Disk ' '</em></strong>or<strong><em> Solid-State drives (SSD</em></strong>) ' 'with 3.52.5-inch to 2.5-inch<strong><em> ' '&ldquo;</em></strong></span><strong><em>Hard Disk ' 'Caddy</em></strong>&rdquo;.<a ' 'href="https://eracks.com/products/rackmount-direct-attached-storage/DAS45/" ' 'target="_blank"> <strong><em><span style="font-family:source sans ' 'pro,sans-serif">eRacks/DAS45</span></em></strong></a><span ' 'style="font-family:source sans pro,sans-serif"> system provides ' 'additional capacity to a storage architecture of a new or existing ' 'server and optimized for medium or large size ' 'Enterprises.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source sans ' 'pro,sans-serif">With 45 hot-swap 3.5-inch Hard drives this system ' 'could provide up to <strong><em>540TB (45x 12TB) of raw ' 'storage</em></strong>. While <strong><em>with 15.36TB Samsung ' 'Enterprise 2.5-inch SAS3 (12Gb/s) SSD Drives </em></strong>this ' 'system is capable to support you with up to <strong><em>690TB (45x ' '15.36TB) of raw storage</em></strong>. Note that equal number of ' 'additional/add one component &ldquo;<strong><em>Hard Disk ' 'Caddy</em></strong>&rdquo; is required for holding the SSD on ' '3.5-inch hot-swap drive bays. ... (<a ' 'href="https://eracks.com/products/rackmount-direct-attached-storage/DAS45/" ' 'target="_blank">more</a>)</span></p>', 'category_id': 58141, 'comments': '07 DEC 2018,\r\nAsif.', 'cost': 9900.0, 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 203081), 'description': '<p style="text-align:justify"><img alt="" ' 'src="/media/images/products/das/seagate.png" ' 'style="float:right; height:225px; margin:10px; width:300px" ' '/></p>\r\n' '\r\n' '<p style="text-align:justify"><strong><em><span ' 'style="font-family:source sans ' 'pro,sans-serif">eRacks/DAS45</span></em></strong><span ' 'style="font-family:source sans pro,sans-serif"> or Direct ' 'Attached Storage (JBOD) system comes with total Extreme High ' 'Density and High Capacity <strong><em>4U ' 'Top-Loaded</em></strong> Storage Chassis supporting ' '<strong><em>45 x 3.5&quot; Top Loading SAS/SATA 12Gb/s Hot ' 'Swapping HDD</em>s</strong> or<strong><em> 2.5-inch Hard Disk ' '</em></strong>or<strong><em> Solid-State drives ' '(SSD</em></strong>) with 3.52.5-inch to 2.5-inch<strong><em> ' '&ldquo;</em></strong></span><strong><em>Hard Disk ' 'Caddy</em></strong>&rdquo;. <strong><em><span ' 'style="font-family:source sans ' 'pro,sans-serif">eRacks/DAS45</span></em></strong><span ' 'style="font-family:source sans pro,sans-serif"> system ' 'provides additional capacity to a storage architecture of a ' 'new or existing server and optimized for medium or large size ' 'Enterprises.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif"><img alt="" ' 'src="/media/images/products/das/samsung.png" ' 'style="float:left; height:225px; margin:10px; width:300px" ' '/>With 45 hot-swap 3.5-inch Hard drives this system could ' 'provide up to <strong><em>540TB (45x 12TB) of raw ' 'storage</em></strong>. While <strong><em>with 15.36TB Samsung ' 'Enterprise 2.5-inch SAS3 (12Gb/s) SSD Drives ' '</em></strong>this system is capable to support you with up ' 'to <strong><em>690TB (45x 15.36TB) of raw ' 'storage</em></strong>. Note that equal number of ' 'additional/add one component &ldquo;<strong><em>Hard Disk ' 'Caddy</em></strong>&rdquo; is required for holding the SSD on ' '3.5-inch hot-swap drive bays.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">As starting config. we offer DAS45 ' 'system with 45x </span>1TB Seagate Enterprise 7200rpm ' '3.5-inch SAS12 HDDs<span style="font-family:source sans ' 'pro,sans-serif"> with totaling 45TB of raw storage. The top ' 'capacity of available Disks is 12TB with both either SAS3 ' '(12Gb/s) drives or SATA3 (6Gb/s) interface supported drives ' 'for having complete control over the data read &amp; write ' 'speed.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif"><img alt="" ' 'src="/media/images/products/das/wd_hgst.png" ' 'style="float:left; height:225px; margin:10px; width:300px" ' '/>The drives can be used as individual logical volumes or ' 'configured as a RAID using a RAID card or software. This disk ' 'drive platform provides workflow flexibility and control of ' 'data storage and backup strategies that can reduce the need ' 'for multiple external hard drives with minimal ' 'cost.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">For advance system cooling ' '<strong><em>5x </em></strong></span><strong><em>80mm rear ' 'hot-swap exhaust PWM fans</em></strong><span ' 'style="font-family:source sans pro,sans-serif"> are attached ' 'with the system chassis while an IPMI port for Remote System ' 'Management.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">For powering the entire systems, ' '<strong><em>DAS45</em></strong> has eRacks System ' '<strong><em>certified 1600W Redundant Platinum Power ' 'Supply.</em></strong></span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">&nbsp;</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">As always, our ' '<strong><em>eRacks/DAS45</em></strong> always comes with ' '&ldquo;<strong><em>Standard 1yr full /3yr limited ' 'warranty</em></strong>&rdquo;. You could select ' '&ldquo;Extended 2yr full / 3yr limited warranty&rdquo; or ' '&ldquo;Premium full 3yr warranty&rdquo; as optional from ' 'dropdown choice list.</span></p>\r\n' '\r\n' '<p style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">&nbsp;</span></p>\r\n' '\r\n' '<p style="text-align:center"><strong><em><span ' 'style="font-family:source sans pro,sans-serif">Note:&nbsp; we ' 'can help you choose the right DAS to fit your needs. If you ' 'need to connect more than one server or All-Flash storage ' 'array, please contact us via email and let us know your ' 'requirements.</span></em></strong></p>', 'features': '<p style="text-align:justify"><img alt="" ' 'src="/media/images/products/das/das45/das45_front.png" ' 'style="float:right; height:225px; margin:10px; width:300px" ' '/></p>\r\n' '\r\n' '<ul>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">1. Extreme High Density and High Capacity ' 'Storage Chassis support 45 x 3.5&quot; Top Loading SAS/SATA ' '12Gb/s Hot Swapping HDD/SSD Bays.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">2. Tool-less HDD tray with HDD LED ' 'indicator.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">3. Single Expander Backplane Boards support ' 'SAS3/2 HDDs with 12Gb/s throughput.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">4. 4 x Mini-SAS HD ports for Internal / ' 'External Cascading Expander Combination for high performance, ' 'high availability or high redundancy ' 'requirements.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">5. 1x IPMI port for Remote System Power ' 'on/off and system monitoring.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">6. Support NTP for time synchronization ' '&amp; RTC battery backup.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">7. 1600W (1+1) Redundant High-efficiency ' 'Platinum Level Power Supplies.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">8. Optimized cooling w/ 5x 80x38mm rear ' 'hot-swap fans.</span></li>\r\n' '\t<li style="text-align:justify"><span style="font-family:source ' 'sans pro,sans-serif">9. Support front LCD panel for system ' 'status &amp; error info (Option).</span></li>\r\n' '\t<li><span style="font-family:source sans pro,sans-serif; ' 'font-size:11.0pt">10. Ideal for Cloud backup, data Replication ' 'or High-density Archive Storage Applications.</span></li>\r\n' '</ul>', 'id': 58988, 'image': <FileObject: images/products/das/seagate.png>, 'link': '', 'meta_description': 'eRacks/DAS45 or Direct Attached Storage (JBOD) system ' 'comes with total Extreme High Density and High Capacity ' '4U Top-Loaded Storage Chassis supporting 45 x 3.5" Top ' 'Loading SAS/SATA 12Gb/s Hot Swapping HDDs or 2.5-inch ' 'Hard Disk or Solid-State drives (SSD) with 3.52.5-inch ' 'to 2.5-inch “Hard Disk Caddy”. eRacks/DAS45 system ' 'provides additional capacity to a storage architecture ' 'of a new or existing server and optimized for medium or ' 'large size Enterprises.\r\n' 'With 45 hot-swap 3.5-inch Hard drives this system could ' 'provide up to 540TB (45x 12TB) of raw storage. While ' 'with 15.36TB Samsung Enterprise 2.5-inch SAS3 (12Gb/s) ' 'SSD Drives this system is capable to support you with up ' 'to 690TB (45x 15.36TB) of raw storage. Note that equal ' 'number of additional/add one component “Hard Disk Caddy” ' 'is required for holding the SSD on 3.5-inch hot-swap ' 'drive bays.\r\n' 'As starting config. we offer DAS45 system with 45x 1TB ' 'Seagate Enterprise 7200rpm 3.5-inch SAS12 HDDs with ' 'totaling 45TB of raw storage. The top capacity of ' 'available Disks is 12TB with both either SAS3 (12Gb/s) ' 'drives or SATA3 (6Gb/s) interface supported drives for ' 'having complete control over the data read & write ' 'speed.\r\n' 'The drives can be used as individual logical volumes or ' 'configured as a RAID using a RAID card or software. This ' 'disk drive platform provides workflow flexibility and ' 'control of data storage and backup strategies that can ' 'reduce the need for multiple external hard drives with ' 'minimal cost.\r\n' 'For advance system cooling 5x 80mm rear hot-swap exhaust ' 'PWM fans are attached with the system chassis while an ' 'IPMI port for Remote System Management.\r\n' 'For powering the entire systems, DAS45 has eRacks System ' 'certified 1600W Redundant Platinum Power Supply.\r\n' '\r\n' 'As always, our eRacks/DAS45 always comes with “Standard ' '1yr full /3yr limited warranty”. You could select ' '“Extended 2yr full / 3yr limited warranty” or “Premium ' 'full 3yr warranty” as optional from dropdown choice ' 'list.\r\n' '\r\n' 'Note: we can help you choose the right DAS to fit your ' 'needs. If you need to connect more than one server or ' 'All-Flash storage array, please contact us via email and ' 'let us know your requirements.', 'meta_keywords': 'Hyperscale, datacenter, and high-performance computing ' 'environments not only require large amounts of storage ' 'capacity, they also must provide the data protection and ' 'performance today’s applications and end users demand. The ' 'MegaRAID® SAS 9380-8e 12Gb/s SAS and SATA RAID controller ' 'card helps address these needs by delivering proven ' 'performance and RAID data protection for a range of server ' 'storage applications, Cloud Backup, Data Replication, or ' 'High Density Archive Storage Applications', 'meta_title': 'eRacks/DAS45 or Direct Attached Storage (JBOD) system', 'name': 'eRacks/DAS45', 'notes': '', 'opts': OrderedDict([('59624_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906a700>, 'allowed_quantities': '', 'choices': {59606: {'blurb': '1. Extreme High Density ' 'and High Capacity ' 'Storage Chassis support ' '45 x 3.5" Top Loading ' 'SAS/SATA 12Gb/s Hot ' 'Swapping HDD/SSD Bays\r\n' '2. Tool-less HDD tray ' 'with HDD LED ' 'indicator\r\n' '3. Single Expander ' 'Backplane Boards support ' 'SAS3/2 HDDs with 12Gb/s ' 'throughput\r\n' '4. 4 x Mini-SAS HD ports ' 'for Internal / External ' 'Cascading Expander ' 'Combination for high ' 'performance, high ' 'availability or high ' 'redundancy ' 'requirements\r\n' '5. 1x IPMI port for ' 'Remote System Power ' 'on/off and system ' 'monitoring\r\n' '6. Support NTP for time ' 'synchronization & RTC ' 'battery backup\r\n' '7. 1600W (1+1) Redundant ' 'High-efficiency Platinum ' 'Level Power Supplies\r\n' '8. Optimized cooling w/ ' '5x 80x38mm rear hot-swap ' 'fans\r\n' '9. Support front LCD ' 'panel for system status ' '& error info (Option)\r\n' '10. Ideal for Cloud ' 'backup, data Replication ' 'or High density Archive ' 'Storage Applications', 'choicecategory_id': 58865, 'comment': 'https://www.supermicro.com/products/chassis/4U/946/SC946LE1C-R1K66JBOD\r\n' '\r\n' '($3080) ' 'https://www.atacom.com/program/atacom.cgi?ADD=CASR_SUPE_4U_2G\r\n' '\r\n' '07 DEC 2018,\r\n' 'Asif.', 'cost': 3540.0, 'created': datetime.datetime(2018, 12, 6, 15, 24, 39, 47438), 'id': 59606, 'multiplier': 1, 'name': 'Rackmount/DAS45 4U-45RHD ' 'Top Load', 'price': 0.0, 'published': True, 'sortorder': 45, 'source': '', 'updated': datetime.datetime(2019, 1, 9, 15, 4, 55, 503580)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 215882), 'defaultchoice_id': 59606, 'id': 59624, 'name': 'Chassis', 'option_id': 9, 'product_id': 58988, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2019, 8, 17, 16, 30, 27, 666562)}), ('59628_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906aa90>, 'allowed_quantities': '', 'choices': {59506: {'blurb': '', 'choicecategory_id': 43892, 'comment': 'http://store.supermicro.com/1600w-1u-pws-1k68a-1r.html\r\n' '\r\n' '06 July 2018,\r\n' 'Asif.', 'cost': 365.0, 'created': datetime.datetime(2018, 7, 5, 15, 57, 57, 883525), 'id': 59506, 'multiplier': 0, 'name': 'eRacks/1600W Redundant ' 'Platinum Power Supply', 'price': None, 'published': True, 'sortorder': 160, 'source': '', 'updated': datetime.datetime(2018, 7, 5, 15, 57, 57, 883549)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 227550), 'defaultchoice_id': 59506, 'id': 59628, 'name': 'Power Supply', 'option_id': 58813, 'product_id': 58988, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 14, 7, 41, 138058)}), ('59626_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906a3a0>, '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)}, 11961: {'blurb': '', 'choicecategory_id': 43910, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11961, 'multiplier': None, 'name': 'RAID 0 (striping)', 'price': None, 'published': True, 'sortorder': 3010, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 21, 259280)}, 11962: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11962, 'multiplier': None, 'name': 'RAID 1 (mirroring)', 'price': None, 'published': True, 'sortorder': 3020, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 75286)}, 11963: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11963, 'multiplier': None, 'name': 'RAID 10 (mirroring and ' 'striping)', 'price': None, 'published': True, 'sortorder': 3030, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 118211)}, 11964: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11964, 'multiplier': None, 'name': 'RAID 5 (striped with ' 'parity)', 'price': None, 'published': True, 'sortorder': 3040, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 134790)}, 37132: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 2, 28, 0, 0), 'id': 37132, 'multiplier': None, 'name': 'RAID 6 (striped with dual ' 'parity)', 'price': None, 'published': True, 'sortorder': 3070, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 234914)}, 56231: {'blurb': 'RAID 50:\r\n' 'RAID 50 combines the ' 'straight block-level ' 'striping of RAID 0 with ' 'the distributed parity ' 'of RAID 5. This is a ' 'RAID 0 array striped ' 'across RAID 5 elements. ' 'It requires at least six ' 'drives.\r\n', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2014, 11, 13, 20, 25, 18, 285996), 'id': 56231, 'multiplier': None, 'name': 'RAID 50 (nested / striped ' 'with parity)', 'price': None, 'published': True, 'sortorder': 3060, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 209813)}, 56241: {'blurb': 'RAID 60 combines the ' 'straight block-level ' 'striping of RAID 0 with ' 'the distributed double ' 'parity of RAID 6. That ' 'is, a RAID 0 array ' 'striped across RAID 6 ' 'elements. It requires at ' 'least eight disks.', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2014, 11, 14, 19, 57, 15, 577442), 'id': 56241, 'multiplier': None, 'name': 'RAID 60 (nested / striped ' 'with dual parity)', 'price': None, 'published': True, 'sortorder': 3080, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 260008)}, 57253: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2015, 11, 14, 21, 1, 30, 113662), 'id': 57253, 'multiplier': 0, 'name': 'RAID 5 (striped with ' 'parity) with one ' 'hot-spare', 'price': None, 'published': True, 'sortorder': 3050, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 2, 43, 182941)}, 57254: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2015, 11, 14, 21, 3, 34, 367188), 'id': 57254, 'multiplier': 0, 'name': 'RAID 5 (striped with ' 'parity) with two ' 'hot-spares', 'price': None, 'published': True, 'sortorder': 3052, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 3, 34, 367210)}, 57255: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2015, 11, 14, 21, 5, 53, 456265), 'id': 57255, 'multiplier': 0, 'name': 'RAID 6 (striped with dual ' 'parity) with one ' 'hot-spare', 'price': None, 'published': True, 'sortorder': 3072, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 5, 53, 456287)}, 57256: {'blurb': '', 'choicecategory_id': 43910, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2015, 11, 14, 21, 6, 38, 131398), 'id': 57256, 'multiplier': 0, 'name': 'RAID 6 (striped with dual ' 'parity) with two ' 'hot-spares', 'price': None, 'published': True, 'sortorder': 3074, 'source': '', 'updated': datetime.datetime(2015, 11, 14, 21, 6, 38, 131420)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 221697), 'defaultchoice_id': 56231, 'id': 59626, 'name': 'RAID Configuration', 'option_id': 58810, 'product_id': 58988, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2018, 12, 6, 15, 16, 56, 638625)}), ('59921_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906a910>, 'allowed_quantities': '45', 'choices': {56641: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00EHBERSE/ref=olp_twister_child?ie=UTF8&mv_size_name=3\r\n' '\r\n' 'WD Red 4TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 GB/S 64 ' 'MB Cache 3.5-Inch - ' 'WD40EFRX\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 148.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 649043), 'id': 56641, 'multiplier': 0, 'name': '4TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 56, 46, 796497)}, 56642: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00LO3KR96/ref=olp_twister_child?ie=UTF8&mv_size_name=4\r\n' '\r\n' 'WD Red 6TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 Gb/s 64MB ' 'Cache 3.5 Inch - ' 'WD60EFRX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 220.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 665602), 'id': 56642, 'multiplier': 0, 'name': '6TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 57, 7, 811855)}, 56643: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B008JJLZ7G/ref=olp_twister_child?ie=UTF8&mv_size_name=1\r\n' '\r\n' 'WD Red 2TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 Gb/s 64MB ' 'Cache 3.5 Inch - ' 'WD20EFRX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 98.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 681655), 'id': 56643, 'multiplier': 0, 'name': '2TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 56, 26, 572282)}, 56644: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B008JJLW4M/ref=olp_twister_child?ie=UTF8&mv_size_name=2\r\n' '\r\n' 'WD Red 3TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 Gb/s 64MB ' 'Cache 3.5 Inch - ' 'WD30EFRX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 122.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 698144), 'id': 56644, 'multiplier': 0, 'name': '3TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 56, 37, 469979)}, 56648: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B008JJLXO6/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'WD Red 1TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 Gb/s 64MB ' 'Cache 3.5 Inch - ' 'WD10EFRX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 72.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 764859), 'id': 56648, 'multiplier': 0, 'name': '1TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 56, 10, 425914)}, 56654: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01FYXPGT2/ref=olp_twister_child?ie=UTF8&mv_size_name=0\r\n' '\r\n' 'Western Digital Red ' 'Pro 2TB 3.5-Inch SATA ' 'III 7200rpm 64MB Cache ' 'NAS Internal Hard ' 'Drive (WD2002FFSX) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 130.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 864769), 'id': 56654, 'multiplier': 0, 'name': '2TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 44, 50, 293910)}, 56655: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01CL6R7QU/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Western Digital Red ' 'Pro 4TB 3.5-Inch ' '7200rpm 64MB Cache NAS ' 'Hard Drive ' '(WD4002FFWX) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 211.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 881580), 'id': 56655, 'multiplier': 0, 'name': '4TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 45, 30, 500532)}, 56693: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B071RM2HS7/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=0\r\n' '\r\n' 'WD Purple 2TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 64MB Cache ' '3.5 Inch - ' 'WD20PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 85.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 561295), 'id': 56693, 'multiplier': 0, 'name': '2TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 56, 33, 655648)}, 56694: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B072L175ZW/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=0\r\n' '\r\n' 'WD Purple 1TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 64MB Cache ' '3.5 Inch - ' 'WD10PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 65.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 581399), 'id': 56694, 'multiplier': 0, 'name': '1TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 56, 25, 207782)}, 56695: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B071KVB4F8/ref=olp_twister_child?ie=UTF8&mv_size_name=3&mv_style_name=0\r\n' '\r\n' 'WD Purple 4TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 64MB Cache ' '3.5 Inch - ' 'WD40PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 125.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 597942), 'id': 56695, 'multiplier': 0, 'name': '4TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 57, 1, 574515)}, 56696: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B0718XQQJ9/ref=olp_twister_child?ie=UTF8&mv_size_name=2&mv_style_name=0\r\n' '\r\n' 'WD Purple 3TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 64MB Cache ' '3.5 Inch - ' 'WD30PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 98.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 614586), 'id': 56696, 'multiplier': 0, 'name': '3TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 56, 53, 597223)}, 56697: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B071V6SVK2/ref=olp_twister_child?ie=UTF8&mv_size_name=4&mv_style_name=0\r\n' '\r\n' 'WD Purple 6TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 128MB ' 'Cache 3.5 Inch - ' 'WD60PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 225.0, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 631289), 'id': 56697, 'multiplier': 0, 'name': '6TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 57, 10, 193171)}, 56723: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00Q1IZJD8/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST HUH728080ALE600 ' '3.5" 8TB SATA 6Gb/s ' '7.2K RPM 128M 512E ISE ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 390.0, 'created': datetime.datetime(2015, 2, 21, 14, 6, 13, 549931), 'id': 56723, 'multiplier': 0, 'name': '8TB HGST Enterprise ' '7200rpm 3.5-inch SATA6 ' 'HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 39, 846714)}, 58039: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B07B1HX5KN/ref=olp_twister_child?ie=UTF8&mv_size_name=2\r\n' '\r\n' 'Western Digital WD Red ' 'Pro 6TB NAS Hard Disk ' 'Drive - 7200 RPM SATA ' '6Gb/s 256MB Cache 3.5 ' 'Inch - WD6003FFBX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 285.0, 'created': datetime.datetime(2016, 2, 1, 0, 44, 45, 840205), 'id': 58039, 'multiplier': 0, 'name': '6TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 45, 47, 834768)}, 58133: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B016AG0ITU/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate Exos 7E8 8TB ' '512e SATA 256MB Cache ' '3.5-Inch Enterprise ' 'Hard Drive ' '(ST8000NM0055) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 315.0, 'created': datetime.datetime(2016, 2, 21, 18, 49, 3, 22520), 'id': 58133, 'multiplier': 0, 'name': '8TB 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, 23, 491703)}, 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)}, 58856: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B0711458VN/ref=olp_twister_child?ie=UTF8&mv_size_name=5&mv_style_name=0\r\n' '\r\n' 'WD Purple 8TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 128MB ' 'Cache 3.5 Inch - ' 'WD80PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 318.0, 'created': datetime.datetime(2016, 8, 30, 15, 33, 14, 120973), 'id': 58856, 'multiplier': 0, 'name': '8TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 57, 17, 753688)}, 58986: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01H33VQDG/ref=olp_twister_child?ie=UTF8&mv_size_name=3\r\n' '\r\n' 'WD Red Pro 8TB ' '3.5-Inch SATA III ' '7200rpm 128MB Cache ' 'NAS Internal Hard ' 'Drive (WD8001FFWX) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 340.0, 'created': datetime.datetime(2016, 12, 3, 18, 40, 4, 249857), 'id': 58986, 'multiplier': 0, 'name': '8TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 46, 4, 894161)}, 58987: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01BYLY4DM/ref=olp_twister_child?ie=UTF8&mv_size_name=5\r\n' '\r\n' 'WD Red 8TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 Gb/s ' '128MB Cache 3.5 Inch - ' 'WD80EFZX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 298.0, 'created': datetime.datetime(2016, 12, 3, 18, 45, 12, 675213), 'id': 58987, 'multiplier': 0, 'name': '8TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 57, 18, 162751)}, 58990: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LXXV880/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Seagate Exos x10 10TB ' 'SATA 6Gb/s 256MB Cache ' 'Enterprise Hard Drive ' '3.5" ' '(ST10000NM0086) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 430.0, 'created': datetime.datetime(2016, 12, 10, 12, 39, 2, 346000), 'id': 58990, 'multiplier': 0, 'name': '10TB 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, 42, 564822)}, 59305: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZILS480HEGR\r\n' '\r\n' '(Ref by Joe.)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 295.0, 'created': datetime.datetime(2018, 4, 4, 13, 52, 37, 870617), 'id': 59305, 'multiplier': 0, 'name': '480GB Samsung Enterprise ' '2.5-inch SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2018, 5, 3, 15, 55, 11, 97851)}, 59306: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZILS960HEHP\r\n' '\r\n' '(Ref by Joe.)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 499.0, 'created': datetime.datetime(2018, 4, 4, 13, 59, 5, 265992), 'id': 59306, 'multiplier': 0, 'name': '960GB Samsung Enterprise ' '2.5-inch SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2018, 5, 3, 15, 55, 38, 14214)}, 59307: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZILS1T9HEJH\r\n' '\r\n' '(Ref by Joe.)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 913.0, 'created': datetime.datetime(2018, 4, 4, 14, 2, 26, 809646), 'id': 59307, 'multiplier': 0, 'name': '1.92TB Samsung Enterprise ' '2.5-inch SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2018, 5, 3, 15, 56, 4, 610603)}, 59308: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' '\r\n' 'MZILS3T8HMLH\r\n' '\r\n' '(Ref by Joe.)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 1828.0, 'created': datetime.datetime(2018, 4, 4, 14, 3, 13, 592228), 'id': 59308, 'multiplier': 0, 'name': '3.84TB Samsung Enterprise ' '2.5-inch SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2018, 5, 3, 15, 56, 38, 85794)}, 59309: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' 'MZILS7T6HMLS (Ref by ' 'Joe.)\r\n' '30 Apr 2018, Asif.\r\n' '\r\n' '$3335 cost upped by ' '10% JJW 5/1/18', 'cost': 3269.0, 'created': datetime.datetime(2018, 4, 4, 14, 4, 12, 721832), 'id': 59309, 'multiplier': 0, 'name': '7.68TB Samsung Enterprise ' '2.5-inch SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2019, 12, 12, 23, 55, 0, 928278)}, 59310: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.samsung.com/semiconductor/ssd/enterprise-ssd/\r\n' 'MZILS15THMLS (Ref by ' 'Joe.)\r\n' '30 Apr 2018, Asif.\r\n' '\r\n' '$6655 cost upped by ' '10% JJW 5/1/18\r\n' '$3305 cost upped by ' '10% JJW 5/1/18', 'cost': 3635.0, 'created': datetime.datetime(2018, 4, 4, 14, 5, 27, 990109), 'id': 59310, 'multiplier': 0, 'name': '15.36TB Samsung ' 'Enterprise 2.5-inch SAS12 ' 'SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2019, 12, 12, 23, 33, 26, 68219)}, 59352: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.zones.com/site/product/index.html?id=105054602\r\n' '\r\n' 'HGST Ultrastar SS200 ' 'Enterprise ' 'SDLL1DLR-480G -CDA1 - ' 'solid state drive - ' '480 GB - SAS 12Gb/s ' '1DW/D\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 570.0, 'created': datetime.datetime(2018, 4, 8, 9, 43, 4, 25171), 'id': 59352, 'multiplier': 0, 'name': '480GB HGST 2.5-inch SAS12 ' 'SSD', 'price': None, 'published': True, 'sortorder': 4560, 'source': '', 'updated': datetime.datetime(2018, 4, 30, 9, 56, 43, 502015)}, 59353: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.zones.com/site/product/index.html?id=105054609\r\n' '\r\n' 'HGST Ultrastar SS200 ' 'Enterprise ' 'SDLL1DLR-960G-CAA1 - ' 'solid state drive - ' '960 GB - SAS 12Gb/s ' '1DW/D\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 978.0, 'created': datetime.datetime(2018, 4, 8, 9, 44, 12, 512547), 'id': 59353, 'multiplier': 0, 'name': '960GB HGST 2.5-inch SAS12 ' 'SSD', 'price': None, 'published': True, 'sortorder': 4560, 'source': '', 'updated': datetime.datetime(2018, 4, 30, 9, 56, 46, 93307)}, 59354: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.zones.com/site/product/index.html?id=105054564\r\n' '\r\n' 'HGST Ultrastar SS200 ' 'Enterprise ' 'SDLL1CLR-020T-CCA1 - ' 'solid state drive - ' '1.92 TB - SAS 12Gb/s ' '1DW/D\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 1955.0, 'created': datetime.datetime(2018, 4, 8, 9, 45, 5, 487037), 'id': 59354, 'multiplier': 0, 'name': '1.92TB HGST 2.5-inch ' 'SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4560, 'source': '', 'updated': datetime.datetime(2018, 4, 30, 9, 56, 48, 685010)}, 59355: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.zones.com/site/product/index.html?id=105054576\r\n' '\r\n' 'HGST Ultrastar SS200 ' 'Enterprise ' 'SDLL1MLR-038T-CDA1 - ' 'solid state drive - ' '3.84 TB - SAS 12Gb/s ' '1DW/D\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 3912.0, 'created': datetime.datetime(2018, 4, 8, 9, 45, 57, 723412), 'id': 59355, 'multiplier': 0, 'name': '3.84TB HGST 2.5-inch ' 'SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4560, 'source': '', 'updated': datetime.datetime(2018, 4, 30, 9, 56, 50, 983532)}, 59356: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'http://www.zones.com/site/product/index.html?id=105054553\r\n' '\r\n' 'HGST Ultrastar SS200 - ' 'solid state drive - ' '7.68 TB - SAS 12Gb/s ' '1DW/D\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 7813.0, 'created': datetime.datetime(2018, 4, 8, 9, 51, 24, 48759), 'id': 59356, 'multiplier': 0, 'name': '7.68TB HGST 2.5-inch ' 'SAS12 SSD', 'price': None, 'published': True, 'sortorder': 4560, 'source': '', 'updated': datetime.datetime(2018, 4, 30, 9, 56, 53, 163701)}, 59383: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B0719498XY/ref=olp_twister_child?ie=UTF8&mv_size_name=6\r\n' '\r\n' 'WD Red 10TB NAS Hard ' 'Disk Drive - 5400 RPM ' 'Class SATA 6 Gb/s ' '256MB Cache 3.5 Inch - ' 'WD100EFAX \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 399.0, 'created': datetime.datetime(2018, 4, 10, 15, 29, 16, 25069), 'id': 59383, 'multiplier': 0, 'name': '10TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 57, 28, 824301)}, 59384: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B072F422FW/ref=olp_twister_child?ie=UTF8&mv_size_name=4\r\n' '\r\n' 'WD Red Pro WD101KFBX ' '10TB NAS 7.2K RPM SATA ' '6 Gb/s 256MB 3.5" ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 448.0, 'created': datetime.datetime(2018, 4, 10, 15, 53, 32, 606651), 'id': 59384, 'multiplier': 0, 'name': '10TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 46, 21, 279769)}, 59386: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B074WH5NPT/ref=olp_twister_child?ie=UTF8&mv_size_name=4\r\n' '\r\n' 'WD Gold 8TB Enterprise ' 'Class Hard Disk Drive ' '- 7200 RPM Class SATA ' '6 Gb/s 256MB Cache 3.5 ' 'Inch - WD8003FRYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 360.0, 'created': datetime.datetime(2018, 4, 10, 20, 35, 56, 597499), 'id': 59386, 'multiplier': 0, 'name': '8TB 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, 17, 599450)}, 59387: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01IWCMS5M/ref=olp_twister_child?ie=UTF8&mv_size_name=5\r\n' '\r\n' 'WD Gold 10TB ' 'Enterprise Class Hard ' 'Disk Drive - 7200 RPM ' 'Class SATA 6 Gb/s ' '128MB Cache 3.5 Inch - ' 'WD101KRYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 410.0, 'created': datetime.datetime(2018, 4, 10, 20, 37, 36, 7509), 'id': 59387, 'multiplier': 0, 'name': '10TB 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, 25, 511571)}, 59388: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B075L6FJH8/ref=olp_twister_child?ie=UTF8&mv_size_name=6\r\n' '\r\n' 'WD Gold 12TB ' 'Enterprise Class Hard ' 'Disk Drive - 7200 RPM ' 'Class SATA 6 Gb/s ' '256MB Cache 3.5 Inch - ' 'WD121KRYZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 495.0, 'created': datetime.datetime(2018, 4, 10, 20, 38, 22, 190916), 'id': 59388, 'multiplier': 0, 'name': '12TB 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, 35, 770068)}, 59390: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B0713RHF9H/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Western Digital 500GB ' 'Purple Surveillance ' 'Hard Disk Drive 5400 ' 'RPM Class SATA 6 Gb/s ' '64MB Cache 3.5 Inch ' 'Model WD05PURZ\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 62.0, 'created': datetime.datetime(2018, 4, 17, 10, 22, 23, 887746), 'id': 59390, 'multiplier': 0, 'name': '500GB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 56, 12, 237260)}, 59391: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B06XRRT1PJ/ref=olp_twister_child?ie=UTF8&mv_size_name=6&mv_style_name=0\r\n' '\r\n' 'WD Purple 10TB ' 'Surveillance Hard Disk ' 'Drive - 5400 RPM Class ' 'SATA 6 Gb/s 256MB ' 'Cache 3.5 - ' 'WD100PURZ \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 415.0, 'created': datetime.datetime(2018, 4, 17, 10, 35, 39, 847548), 'id': 59391, 'multiplier': 0, 'name': '10TB WD Purple ' 'Surveillance 5400rpm ' '3.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5013, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 10, 57, 25, 253283)}, 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)}, 59396: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01HEF8OV0/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST Ultrastar He10 ' 'HUH721010ALE604 10TB ' 'SATA 6Gb/s 7,200 rpm ' '256MB Cache 3.5" ' 'Internal Hard ' 'Drive \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.\r\n', 'cost': 420.0, 'created': datetime.datetime(2018, 4, 17, 11, 6, 54, 897770), 'id': 59396, 'multiplier': 0, 'name': '10TB HGST Enterprise ' '7200rpm 3.5-inch ' 'Helium-filled SATA6 HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 44, 503045)}, 59397: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B079RMMPQL/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST Ultrastar He12 | ' 'HUH721212ALE601 | 12TB ' '7.2K RPM SATA-6Gb/s ' '3.5" 256MB cache ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 450.0, 'created': datetime.datetime(2018, 4, 17, 11, 11, 0, 581231), 'id': 59397, 'multiplier': 0, 'name': '12TB HGST Enterprise ' '7200rpm 3.5-inch ' 'Helium-filled PMR SATA6 ' 'HDD', 'price': None, 'published': True, 'sortorder': 4990, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 17, 52, 50, 231191)}, 59406: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LOOJ8TE/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=0\r\n' '\r\n' 'Seagate 1TB IronWolf ' 'NAS 5900rpm SATA 6Gb/s ' 'NCQ 64MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST1000VN002) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 70.0, 'created': datetime.datetime(2018, 4, 17, 15, 7, 17, 368276), 'id': 59406, 'multiplier': 0, 'name': '1TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '5900rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 21, 52, 41, 432378)}, 59407: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LOOJ8T4/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=0\r\n' '\r\n' 'Seagate 2TB IronWolf ' 'NAS SATA 5900rpm 6Gb/s ' 'NCQ 64MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST2000VN004) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 99.0, 'created': datetime.datetime(2018, 4, 17, 15, 9, 7, 644482), 'id': 59407, 'multiplier': 0, 'name': '2TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '5900rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 5, 23, 649354)}, 59408: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LOOJBRI/ref=olp_twister_child?ie=UTF8&mv_size_name=2&mv_style_name=0\r\n' '\r\n' 'Seagate 3TB IronWolf ' 'NAS 5900rpm SATA 6Gb/s ' 'NCQ 64MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST3000VN007) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 130.0, 'created': datetime.datetime(2018, 4, 17, 15, 10, 3, 103130), 'id': 59408, 'multiplier': 0, 'name': '3TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '5900rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 7, 16, 610476)}, 59409: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LOOJBQY/ref=olp_twister_child?ie=UTF8&mv_size_name=3&mv_style_name=0\r\n' '\r\n' 'Seagate 4TB IronWolf ' 'NAS 5900rpm SATA 6Gb/s ' 'NCQ 64MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST4000VN008) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 165.0, 'created': datetime.datetime(2018, 4, 17, 15, 10, 50, 547920), 'id': 59409, 'multiplier': 0, 'name': '4TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '5900rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 7, 8, 912460)}, 59410: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B07BDV5HGF/ref=olp_twister_child?ie=UTF8&mv_size_name=4&mv_style_name=0\r\n' '\r\n' 'Seagate 6TB IronWolf ' 'v11 NAS 7200rpm SATA ' '6Gb/s NCQ 128MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST6000VN0033)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 225.0, 'created': datetime.datetime(2018, 4, 17, 15, 12, 41, 790089), 'id': 59410, 'multiplier': 0, 'name': '6TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 7, 50, 23294)}, 59411: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01M1BUBSO/ref=olp_twister_child?ie=UTF8&mv_size_name=5&mv_style_name=0\r\n' '\r\n' 'Seagate 8TB IronWolf ' 'NAS 7200rpm SATA 6Gb/s ' 'NCQ 256MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST8000VN0022) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 295.0, 'created': datetime.datetime(2018, 4, 17, 15, 16, 16, 980202), 'id': 59411, 'multiplier': 0, 'name': '8TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 8, 16, 323850)}, 59412: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01IA9GU0Q/ref=olp_twister_child?ie=UTF8&mv_size_name=6&mv_style_name=0\r\n' '\r\n' 'Seagate 10TB IronWolf ' 'NAS 7200rpm SATA 6Gb/s ' 'NCQ 256MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST10000VN0004) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 365.0, 'created': datetime.datetime(2018, 4, 17, 15, 16, 59, 85306), 'id': 59412, 'multiplier': 0, 'name': '10TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 10, 56, 803262)}, 59413: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B075XPBD5B/ref=olp_twister_child?ie=UTF8&mv_size_name=7&mv_style_name=0\r\n' '\r\n' 'Seagate 12TB IronWolf ' 'NAS 7200rpm SATA 6Gb/s ' 'NCQ 256MB Cache ' '3.5-Inch Internal Hard ' 'Drive ' '(ST12000VN0007)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 405.0, 'created': datetime.datetime(2018, 4, 17, 15, 18, 8, 266768), 'id': 59413, 'multiplier': 0, 'name': '12TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 11, 38, 135081)}, 59414: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01MYWS7LO/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=1\r\n' '\r\n' 'Seagate 2TB BarraCuda ' 'Pro SATA 6Gb/s 128MB ' 'Cache 3.5-Inch ' 'Internal Hard Drive ' '(ST2000DM009) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 135.0, 'created': datetime.datetime(2018, 4, 17, 15, 23, 11, 845820), 'id': 59414, 'multiplier': 0, 'name': '2TB Seagate Pro 7200rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5001, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 18, 30, 47, 708907)}, 59415: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01MSW4MNS/ref=olp_twister_child?ie=UTF8&mv_size_name=3&mv_style_name=1\r\n' '\r\n' 'Seagate 4TB BarraCuda ' 'Pro 7200RPM SATA 6Gb/s ' '128MB Cache 3.5-Inch ' 'Internal Hard Drive ' '(ST4000DM006) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 180.0, 'created': datetime.datetime(2018, 4, 17, 15, 26, 47, 267773), 'id': 59415, 'multiplier': 0, 'name': '4TB Seagate Pro 7200rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5001, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 18, 30, 51, 84409)}, 59416: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LOOJBH8/ref=olp_twister_child?ie=UTF8&mv_size_name=4&mv_style_name=1\r\n' '\r\n' 'Seagate 6TB BarraCuda ' 'Pro 7200RPM SATA 6Gb/s ' '256MB Cache 3.5-Inch ' 'Internal Hard Drive ' '(ST6000DM004) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 245.0, 'created': datetime.datetime(2018, 4, 17, 15, 27, 34, 116916), 'id': 59416, 'multiplier': 0, 'name': '6TB Seagate Pro 7200rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5001, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 18, 30, 53, 839797)}, 59417: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B07211QYRC/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate 8TB BarraCuda ' 'Pro SATA 6Gb/s 256MB ' 'Cache 3.5-Inch ' 'Internal Hard Drive ' '(ST8000DM0004) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 320.0, 'created': datetime.datetime(2018, 4, 17, 15, 28, 28, 402587), 'id': 59417, 'multiplier': 0, 'name': '8TB Seagate Pro 7200rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5001, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 18, 31, 2, 736634)}, 59418: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01IA9H22Q/ref=olp_twister_child?ie=UTF8&mv_size_name=6&mv_style_name=1\r\n' '\r\n' 'Seagate 10TB BarraCuda ' 'Pro 7200RPM SATA 6GB/s ' '256MB Cache 3.5-Inch ' 'Internal Hard Drive ' '(ST10000DM0004)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 405.0, 'created': datetime.datetime(2018, 4, 17, 15, 29, 12, 291266), 'id': 59418, 'multiplier': 0, 'name': '10TB Seagate Pro 7200rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5001, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 18, 31, 5, 944558)}, 59419: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B075XNL17G/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Seagate 12TB BarraCuda ' 'Pro 7200RPM SATA 6GB/s ' '256MB Cache 3.5-Inch ' 'Internal Hard Drive ' '(ST12000DM0007)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 490.0, 'created': datetime.datetime(2018, 4, 17, 15, 29, 58, 427349), 'id': 59419, 'multiplier': 0, 'name': '12TB Seagate Pro 7200rpm ' '3.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5001, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 18, 31, 8, 255214)}, 59420: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01N2L30Y1/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=1\r\n' '\r\n' 'Seagate 2TB IronWolf ' 'Pro 7200RPM SATA 6Gb/s ' '128MB Cache 3.5-Inch ' 'NAS Hard Disk Drive ' '(ST2000NE0025) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 135.0, 'created': datetime.datetime(2018, 4, 17, 15, 37, 15, 636593), 'id': 59420, 'multiplier': 0, 'name': '2TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 4, 52, 850475)}, 59421: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01N98UJSD/ref=olp_twister_child?ie=UTF8&mv_size_name=3&mv_style_name=1\r\n' '\r\n' 'Seagate 4TB IronWolf ' 'Pro 7200RPM SATA 6Gb/s ' '128MB Cache 3.5-Inch ' 'NAS Hard Disk Drive ' '(ST4000NE0025)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 175.0, 'created': datetime.datetime(2018, 4, 17, 15, 38, 17, 593277), 'id': 59421, 'multiplier': 0, 'name': '4TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 7, 57, 592206)}, 59422: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01M6U3AAJ/ref=olp_twister_child?ie=UTF8&mv_size_name=4&mv_style_name=1\r\n' '\r\n' 'Seagate 6TB IronWolf ' 'Pro 7200RPM SATA 6Gb/s ' '256MB Cache 3.5-Inch ' 'NAS Hard Disk Drive ' '(ST6000NE0021)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 265.0, 'created': datetime.datetime(2018, 4, 17, 15, 38, 58, 656785), 'id': 59422, 'multiplier': 0, 'name': '6TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 8, 18, 888658)}, 59423: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B071JNJFBW/ref=olp_twister_child?ie=UTF8&mv_size_name=5&mv_style_name=1\r\n' '\r\n' 'Seagate 8TB IronWolf ' 'Pro 7200RPM SATA 6Gb/s ' '256MB Cache 3.5-Inch ' 'NAS Hard Disk Drive ' '(ST8000NE0004)\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 315.0, 'created': datetime.datetime(2018, 4, 17, 15, 39, 45, 377560), 'id': 59423, 'multiplier': 0, 'name': '8TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 8, 36, 75868)}, 59424: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01M4FU8Y3/ref=olp_twister_child?ie=UTF8&mv_size_name=6&mv_style_name=1\r\n' '\r\n' 'Seagate 10TB IronWolf ' 'Pro 7200RPM SATA 6Gb/s ' '256MB Cache 3.5-Inch ' 'NAS Hard Disk Drive ' '(ST10000NE0004) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 410.0, 'created': datetime.datetime(2018, 4, 17, 15, 40, 54, 907714), 'id': 59424, 'multiplier': 0, 'name': '10TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 9, 0, 999053)}, 59425: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B075XNQYV1/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate ST12000NEB007 ' '12TB IronWolf Pro ' '7200RPM SATA 6Gb/s ' '256MB Cache 3.5-Inch ' 'NAS Hard Disk Drive ' '(ST12000NE0007) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 520.0, 'created': datetime.datetime(2018, 4, 17, 15, 42, 10, 227379), 'id': 59425, 'multiplier': 0, 'name': '12TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 9, 25, 153324)}, 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)}, 59428: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B0759Q9FXZ/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate Exos x12 12TB ' 'SATA 6Gb/s 256MB Cache ' 'Enterprise Hard Drive ' '3.5" ' '(ST12000NM0007) \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 472.0, 'created': datetime.datetime(2018, 4, 17, 16, 1, 41, 759980), 'id': 59428, 'multiplier': 0, 'name': '12TB Seagate Exos ' '3.5-inch SATA 6Gb/s Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 50, 9, 629754)}, 59429: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP6AIEY/ref=olp_twister_child?ie=UTF8&mv_size_name=0&mv_style_name=5\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '2000GB 7200RPM SAS ' '512E ULTRA TCG 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F22809 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 200.0, 'created': datetime.datetime(2018, 4, 17, 16, 53, 38, 28381), 'id': 59429, 'multiplier': 0, 'name': '2TB HGST Enterprise ' '7200rpm 3.5-inch SAS12 ' 'HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 16, 662166)}, 59430: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP6A5T2/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=3\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '4000GB 7200RPM SAS ' '512E ULTRA ISE 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F22795 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 255.0, 'created': datetime.datetime(2018, 4, 17, 16, 55, 27, 26509), 'id': 59430, 'multiplier': 0, 'name': '4TB HGST Enterprise ' '7200rpm 3.5-inch SAS12 ' 'HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 19, 281993)}, 59431: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP69U84/ref=olp_twister_child?ie=UTF8&mv_size_name=2&mv_style_name=3\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 ' '5000GB 7200RPM SAS ' '512E ULTRA ISE 128MB ' 'Cache 3.5-Inch ' 'Internal Bare or OEM ' 'Drives 0F22793 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 380.0, 'created': datetime.datetime(2018, 4, 17, 16, 59, 3, 664176), 'id': 59431, 'multiplier': 0, 'name': '5TB HGST Enterprise ' '7200rpm 3.5-inch SAS12 ' 'HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 21, 698973)}, 59432: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00NP68ZTO/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST, a Western ' 'Digital Company ' 'ULTRASTAR 7K6000 | ' 'HUS726060AL5210 | ' '0F22791 | 6000GB ' '7200RPM SAS 512E ULTRA ' 'ISE 128MB Cache ' '3.5-Inch Internal Bare ' 'or OEM Hard Drives \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 385.0, 'created': datetime.datetime(2018, 4, 17, 17, 0, 4, 608451), 'id': 59432, 'multiplier': 0, 'name': '6TB HGST Enterprise ' '7200rpm 3.5-inch SAS12 ' 'HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 24, 84749)}, 59433: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01IF6436M/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST Ultrastar He10 ' 'HUH721008AL5200 8 TB ' 'SAS 3.5" Internal Hard ' 'Drive\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 410.0, 'created': datetime.datetime(2018, 4, 17, 17, 3, 32, 777983), 'id': 59433, 'multiplier': 0, 'name': '8TB HGST Enterprise ' '7200rpm 3.5-inch ' 'Helium-filled SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 27, 555275)}, 59434: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01FT191XG/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST 0F27402 10TB ' 'ULTRA 4KN ISE HE10 SAS ' '7200 RPM 256MB 3.5IN ' '26.1MM \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 470.0, 'created': datetime.datetime(2018, 4, 17, 17, 4, 38, 6078), 'id': 59434, 'multiplier': 0, 'name': '10TB HGST Enterprise ' '7200rpm 3.5-inch ' 'Helium-filled SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 30, 201346)}, 59435: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B074JJ2LDH/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'HGST Hard Drive ' '0F29560 3.5 inch 12TB ' 'ES 72000RPM 256MB SAS ' '12Gb/s 4Kn ISE ' 'Ultrastar He12 ' 'Bare \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 565.0, 'created': datetime.datetime(2018, 4, 17, 17, 5, 44, 735019), 'id': 59435, 'multiplier': 0, 'name': '12TB HGST Enterprise ' '7200rpm 3.5-inch ' 'Helium-filled SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 10, 33, 97598)}, 59436: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01G3S7PDW/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate HDD ' 'ST1000NM0045 1TB SAS ' '12Gb/s Enterprise ' '7200RPM 128MB 3.5 inch ' '512n Bare \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 125.0, 'created': datetime.datetime(2018, 4, 18, 9, 1, 30, 193736), 'id': 59436, 'multiplier': 0, 'name': '1TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 26, 38, 427099)}, 59437: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01E1XRLFI/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate Hard Drive ' 'ST2000NM0135 2TB SAS ' '12Gb/s Enterprise ' '7200RPM 128MB 3.5inch ' '512e Bare \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 155.0, 'created': datetime.datetime(2018, 4, 18, 9, 3, 17, 953193), 'id': 59437, 'multiplier': 0, 'name': '2TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 27, 5, 874140)}, 59438: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01FRC1AJ0/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate 4TB Enterprise ' 'Capacity SAS 12Gb/s ' '512n 3.5" Internal ' 'Hard Drive Model ' 'ST4000NM0025 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 205.0, 'created': datetime.datetime(2018, 4, 18, 9, 4, 23, 836245), 'id': 59438, 'multiplier': 0, 'name': '4TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 27, 29, 267725)}, 59439: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01E1KQF26/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate ST6000NM0195 ' '6TB 7200RPM SAS-12Gb/s ' 'SATA-6Gb/s 3.5" 256MB ' '512e SED Enterprise ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 270.0, 'created': datetime.datetime(2018, 4, 18, 9, 5, 41, 944690), 'id': 59439, 'multiplier': 0, 'name': '6TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 27, 52, 546298)}, 59440: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B014UYHJWS/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Seagate Enterprise ' "Capacity 3.5'' HDD 8TB " '7200 RPM 512e SAS ' '12Gb/s 256MB Cache ' 'Internal Hard Drive ' 'ST8000NM0075 \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 335.0, 'created': datetime.datetime(2018, 4, 18, 9, 6, 42, 929158), 'id': 59440, 'multiplier': 0, 'name': '8TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 28, 12, 222233)}, 59441: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01MQZAQDH/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate HDD ' 'ST10000NM0206 10TB 3.5 ' '7200RPM 256MB SAS ' '12GB/s Enterprise ' 'Bare \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 450.0, 'created': datetime.datetime(2018, 4, 18, 9, 10, 17, 496079), 'id': 59441, 'multiplier': 0, 'name': '10TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 28, 32, 705366)}, 59442: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B0741S8Y6L/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate ST12000NM0027 ' '12TB 3.5" Internal ' 'Hard Drive - SAS ' '12Gb/s\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 520.0, 'created': datetime.datetime(2018, 4, 18, 9, 11, 28, 274060), 'id': 59442, 'multiplier': 0, 'name': '12TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 28, 59, 603774)}, 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)}, 59446: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01MG2XPVM/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Seagate 15K.6 ' 'ST300MP0006 300 GB ' '2.5" Internal Hard ' 'Drive\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 200.0, 'created': datetime.datetime(2018, 4, 18, 10, 30, 23, 547710), 'id': 59446, 'multiplier': 0, 'name': '300GB Seagate Enterprise ' '15krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5160, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 25, 38, 984284)}, 59447: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00ODDJARO/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate Storage ' 'ST600MX0082 600GB SAS ' '12Gb/s Enterprise ' 'Storage 15K RPM 128M ' 'Cache Bare \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 395.0, 'created': datetime.datetime(2018, 4, 18, 10, 31, 56, 550654), 'id': 59447, 'multiplier': 0, 'name': '600GB Seagate Enterprise ' '15krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5160, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 25, 43, 239265)}, 59448: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01MCWX5X9/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'ST900MP0146 900GB SAS ' '12Gb/s 15K 2.5" 256MB ' 'Cache Enterprise ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 435.0, 'created': datetime.datetime(2018, 4, 18, 10, 33, 8, 254511), 'id': 59448, 'multiplier': 0, 'name': '900GB Seagate Enterprise ' '15krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5160, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 25, 45, 227741)}, 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)}, 59455: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00BVW4A6Q/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'ST9300605SS - Seagate ' 'Savvio 300GB 10K RPM ' '2.5" SAS Hard Drive\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 75.0, 'created': datetime.datetime(2018, 4, 18, 10, 58, 44, 772381), 'id': 59455, 'multiplier': 0, 'name': '300GB Seagate Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5161, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 29, 1, 821545)}, 59456: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LWYTOF3/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Seagate ST600MM0088 ' '600GB 10K RPM ' 'SAS-12GB/s 128MB 2.5" ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 165.0, 'created': datetime.datetime(2018, 4, 18, 11, 0, 13, 893947), 'id': 59456, 'multiplier': 0, 'name': '600GB Seagate Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5161, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 29, 4, 110179)}, 59457: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00X4WVN2U/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate ST900MM0018 ' '2.5" 900GB SAS 12Gb/s, ' '10K RPM, CACHE 128MB, ' '512E (THUNDERBOLT) ' 'Enterprise Hard ' 'Drive\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 195.0, 'created': datetime.datetime(2018, 4, 18, 11, 1, 36, 563810), 'id': 59457, 'multiplier': 0, 'name': '900GB Seagate Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5161, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 29, 6, 382010)}, 59458: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00QU2DWLG/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate ST1200MM0007 ' '1.2TB 10K RPM SAS ' '6Gb/s 64MB Cache 2.5" ' 'HDD \r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 285.0, 'created': datetime.datetime(2018, 4, 18, 11, 5, 51, 481075), 'id': 59458, 'multiplier': 0, 'name': '1200GB Seagate Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5161, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 29, 8, 696036)}, 59459: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.amazon.com/gp/offer-listing/B00PQ742JM/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' 'Seagate ST1800MM0078 ' '1.8TB ENT PERF 10K HDD ' 'SAS 10000 RPM 128MB ' '2.5IN\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 480.0, 'created': datetime.datetime(2018, 4, 18, 11, 7, 6, 170958), 'id': 59459, 'multiplier': 0, 'name': '1800GB Seagate Enterprise ' '10krpm 2.5-inch SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5161, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 20, 29, 11, 307135)}, 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)}, 59465: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01M0AAA6X/ref=olp_twister_child?ie=UTF8&mv_size_name=5\r\n' '\r\n' 'Seagate 500GB ' 'BarraCuda SATA 6Gb/s ' '128MB Cache 2.5-Inch ' '7mm Internal Hard ' 'Drive (ST500LM030).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 45.0, 'created': datetime.datetime(2018, 4, 18, 14, 42, 47, 550617), 'id': 59465, 'multiplier': 0, 'name': '500GB Seagate 5400rpm ' '2.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5070, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 19, 50, 9, 235785)}, 59466: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LYNQXCP/ref=olp_twister_child?ie=UTF8&mv_size_name=0\r\n' '\r\n' 'Seagate 1TB BarraCuda ' 'SATA 6Gb/s 128MB Cache ' '2.5-Inch 7mm Internal ' 'Hard Drive ' '(ST1000LM048).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 62.0, 'created': datetime.datetime(2018, 4, 18, 14, 53, 52, 447226), 'id': 59466, 'multiplier': 0, 'name': '1TB Seagate 5400rpm ' '2.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5070, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 19, 50, 12, 74381)}, 59467: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LX13P71/ref=olp_twister_child?ie=UTF8&mv_size_name=1\r\n' '\r\n' 'Seagate 2TB BarraCuda ' 'SATA 6Gb/s 128MB Cache ' '2.5-Inch 7mm Internal ' 'Hard Drive ' '(ST2000LM015).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 102.0, 'created': datetime.datetime(2018, 4, 18, 14, 55, 58, 438795), 'id': 59467, 'multiplier': 0, 'name': '2TB Seagate 5400rpm ' '2.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5070, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 19, 50, 14, 401900)}, 59468: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LWPEVPL/ref=olp_twister_child?ie=UTF8&mv_size_name=2\r\n' '\r\n' 'Seagate 3TB Barracuda ' 'Sata 6GB/s 128MB Cache ' '2.5-Inch 15mm Internal ' 'Bare/OEM Hard Drive ' '(ST3000LM024).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 145.0, 'created': datetime.datetime(2018, 4, 18, 14, 57, 28, 683659), 'id': 59468, 'multiplier': 0, 'name': '3TB Seagate 5400rpm ' '2.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5070, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 19, 50, 17, 196715)}, 59469: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01LZMUNGR/ref=olp_twister_child?ie=UTF8&mv_size_name=3\r\n' '\r\n' 'Seagate 4TB Barracuda ' 'Sata 6GB/s 128MB Cache ' '2.5-Inch 15mm Internal ' 'Bare/OEM Hard Drive ' '(ST4000LM024).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 185.0, 'created': datetime.datetime(2018, 4, 18, 14, 59, 2, 34751), 'id': 59469, 'multiplier': 0, 'name': '4TB Seagate 5400rpm ' '2.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5070, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 19, 50, 19, 389793)}, 59470: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B01M0AADIX/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'Seagate 5TB Barracuda ' 'Sata 6GB/s 128MB Cache ' '2.5-Inch 15mm Internal ' 'Bare/OEM Hard Drive ' '(ST5000LM000).\r\n' '\r\n' '30 Apr 2018,\r\n' 'Asif.', 'cost': 232.0, 'created': datetime.datetime(2018, 4, 18, 15, 0, 21, 771537), 'id': 59470, 'multiplier': 0, 'name': '5TB Seagate 5400rpm ' '2.5-inch SATA6 HDD', 'price': None, 'published': True, 'sortorder': 5070, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 19, 50, 21, 537832)}, 59473: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00C9TECUO/ref=olp_twister_child?ie=UTF8&mv_size_name=1\r\n' '\r\n' 'WD Bare Drives 320GB ' 'WD Blue SATA III 5400 ' 'RPM 8 MB Cache ' 'Bulk/OEM Notebook Hard ' 'Drive WD3200LPVX.\r\n' '\r\n' '30 Apr 2018\r\n' 'Asif.', 'cost': 52.0, 'created': datetime.datetime(2018, 4, 18, 15, 31, 12, 903124), 'id': 59473, 'multiplier': 0, 'name': '320GB WD Blue 5400rpm ' '2.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5080, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 6, 49, 427729)}, 59474: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00C9TECFO/ref=olp_twister_child?ie=UTF8&mv_size_name=2\r\n' '\r\n' 'WD Blue 500GB Mobile ' 'Hard Disk Drive - 5400 ' 'RPM SATA 6 Gb/s 7.0 MM ' '2.5 Inch - ' 'WD5000LPVX.\r\n' '\r\n' '30 Apr 2018\r\n' 'Asif.', 'cost': 55.0, 'created': datetime.datetime(2018, 4, 18, 15, 32, 18, 850547), 'id': 59474, 'multiplier': 0, 'name': '500GB WD Blue 5400rpm ' '2.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5080, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 6, 55, 49014)}, 59475: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B00C9TEC0Y/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'WD Blue 750GB Mobile ' 'Hard Disk Drive - 5400 ' 'RPM SATA 6 Gb/s 9.5 MM ' '2.5 Inch - ' 'WD7500BPVX.\r\n' '\r\n' '30 Apr 2018\r\n' 'Asif.', 'cost': 58.0, 'created': datetime.datetime(2018, 4, 18, 15, 33, 28, 731617), 'id': 59475, 'multiplier': 0, 'name': '750GB WD Blue 5400rpm ' '2.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5080, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 7, 0, 516771)}, 59476: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B071F9MLJJ/ref=dp_olp_all_mbc?ie=UTF8&condition=all\r\n' '\r\n' 'WD Blue 1TB Mobile ' 'Hard Disk Drive - 5400 ' 'RPM SATA 6 Gb/s 128MB ' 'Cache 2.5 Inch - ' 'WD10SPZX.\r\n' '\r\n' '30 Apr 2018\r\n' 'Asif.', 'cost': 68.0, 'created': datetime.datetime(2018, 4, 18, 15, 34, 45, 712856), 'id': 59476, 'multiplier': 0, 'name': '1TB WD Blue 5400rpm ' '2.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5080, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 7, 8, 160236)}, 59477: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B079BQS5WQ/ref=olp_twister_child?ie=UTF8&mv_size_name=1&mv_style_name=0\r\n' '\r\n' 'Western Digital Blue ' '2TB Mobile Hard Disk ' 'Drive 5400 RPM SATA ' '6Gb/s 128MB Cache 2.5 ' 'Inch Model ' 'WD20SPZX.\r\n' '\r\n' '30 Apr 2018\r\n' 'Asif.', 'cost': 98.0, 'created': datetime.datetime(2018, 4, 18, 15, 35, 56, 313177), 'id': 59477, 'multiplier': 0, 'name': '2TB WD Blue 5400rpm ' '2.5-inch SATA6 HDD', 'price': 0.0, 'published': True, 'sortorder': 5080, 'source': '', 'updated': datetime.datetime(2018, 5, 23, 12, 7, 15, 110596)}, 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)}, 59574: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.malabs.com/product/ST14TBNE08\r\n' '\r\n' '$ 484 (Seagate ' 'IronWolf NAS ' 'ST14000VN0008 14TB ' '7200RPM SATA 6.0 GB/s ' '256MB Hard Drive (3.5 ' 'inch)).\r\n' '\r\n' '02 Oct. 2018,\r\n' 'Asif.', 'cost': 495.0, 'created': datetime.datetime(2018, 10, 2, 14, 8, 11, 167595), 'id': 59574, 'multiplier': 0, 'name': '14TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 14, 14, 877880)}, 59575: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.malabs.com/product/ST14TBNE08\r\n' '\r\n' '$ 542 (Seagate ' 'IronWolf Pro NAS ' 'ST14000NE0008 14TB ' '7200RPM SATA 6.0 GB/s ' '256MB Hard Drive (3.5 ' 'inch)).\r\n' '\r\n' '02 Oct. 2018,\r\n' 'Asif.', 'cost': 510.0, 'created': datetime.datetime(2018, 10, 2, 14, 10, 11, 501633), 'id': 59575, 'multiplier': 0, 'name': '14TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 14, 43, 741793)}, 59715: {'blurb': '', 'choicecategory_id': 58837, 'comment': '$450 @ ' 'https://store.supermicro.com/14tb-3-5-7200rpm-sas3-12gb-s-512m-internal-hard-drive-hdd-a14t-wuh721414al5204.html\r\n' '\r\n' 'HGST 14TB 3.5" 7200RPM ' 'SAS3 12Gb/s 512M ' 'Internal Hard Drive ' '(HDD-A14T-WUH721414AL5204)\r\n' '\r\n' '26 Sept. 2019,\r\n' 'Asif.', 'cost': 590.0, 'created': datetime.datetime(2019, 9, 25, 20, 14, 34, 845641), 'id': 59715, 'multiplier': 0, 'name': '14TB HGST Enterprise ' '7200rpm 3.5-inch ' 'Helium-filled SAS12 HDD', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2019, 9, 27, 13, 25, 46, 717162)}, 59726: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/gp/offer-listing/B07SGGWYC1/ref=dp_olp_new_mbc?ie=UTF8&condition=new\r\n' '\r\n' '$ 745 (Seagate ' 'IronWolf 16TB NAS ' 'Internal Hard Drive ' 'HDD – 3.5 Inch SATA ' '6GB/S 7200 RPM 256MB ' 'Cache for Raid Network ' 'Attached Storage ' '(ST16000VN001)).\r\n' '\r\n' '16 Nov, 2019,\r\n' 'Asif.', 'cost': 535.0, 'created': datetime.datetime(2019, 11, 15, 21, 48, 42, 428438), 'id': 59726, 'multiplier': 0, 'name': '16TB Seagate IronWolf NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5002, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 12, 35, 652130)}, 59727: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.amazon.com/Seagate-IronWolf-16TB-Internal-Drive/dp/B07SLPTK17#HLCXComparisonWidget_feature_div\r\n' '\r\n' '$ 800 (Seagate ' 'IronWolf Pro 16TB NAS ' 'Internal Hard Drive ' 'HDD – 3.5 Inch SATA ' '6GB/S 7200 RPM 256MB ' 'Cache for Raid Network ' 'Attached Storage, Data ' 'Recovery Rescue ' 'Service ' '(ST16000NE000)).\r\n' '\r\n' '16 Nov. 2019,\r\n' 'Asif.', 'cost': 550.0, 'created': datetime.datetime(2019, 11, 15, 22, 12, 46, 120734), 'id': 59727, 'multiplier': 0, 'name': '16TB Seagate IronWolf Pro ' 'NAS 3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5003, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 19, 14, 56, 811761)}, 59728: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.malabs.com/product/HD-ST14T2G\r\n' '\r\n' '$ 460 ' '(https://www.malabs.com/product/HD-ST14T2G)\r\n' '\r\n' '16 Nov. 2019,\r\n' 'Asif.', 'cost': 555.0, 'created': datetime.datetime(2019, 11, 15, 22, 32, 50, 632160), 'id': 59728, 'multiplier': 0, 'name': '14TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 32, 50, 632179)}, 59729: {'blurb': '', 'choicecategory_id': 58837, 'comment': 'https://www.malabs.com/product/HD-ST16T2G\r\n' '\r\n' '$ 499 ' '(https://www.malabs.com/product/HD-ST14T2G)\r\n' '\r\n' '16 Nov. 2019,\r\n' 'Asif.', 'cost': 599.0, 'created': datetime.datetime(2019, 11, 15, 22, 34, 7, 970176), 'id': 59729, 'multiplier': 0, 'name': '16TB Seagate Exos ' 'Enterprise 3.5-inch SAS ' '12Gb/s Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 34, 7, 970198)}, 59730: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://shop.westerndigital.com/products/internal-drives/wd-red-pro-sata-hdd#WD121KFBX\r\n' '\r\n' '$405 (WD Red Pro ' 'WD101KFBX 12TB NAS ' '7.2K RPM SATA 6 Gb/s ' '256MB 3.5" HDD)\r\n' '\r\n' '16 Nov 2019,\r\n' 'Asif.', 'cost': 485.0, 'created': datetime.datetime(2019, 11, 15, 22, 47, 41, 641942), 'id': 59730, 'multiplier': 0, 'name': '12TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 49, 32, 822742)}, 59731: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://shop.westerndigital.com/products/internal-drives/wd-red-pro-sata-hdd#WD141KFGX\r\n' '\r\n' '$575 (WD Red Pro ' 'WD101KFBX 14TB NAS ' '7.2K RPM SATA 6 Gb/s ' '256MB 3.5" HDD)\r\n' '\r\n' '16 Nov 2019,\r\n' 'Asif.', 'cost': 680.0, 'created': datetime.datetime(2019, 11, 15, 22, 50, 36, 39416), 'id': 59731, 'multiplier': 0, 'name': '14TB WD Red Pro NAS ' '3.5-inch SATA 6Gb/s ' '7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5015, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 50, 59, 608528)}, 59732: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://shop.westerndigital.com/products/internal-drives/wd-red-sata-hdd#WD120EFAX\r\n' '\r\n' '$360 (WD Red 12TB NAS ' 'Hard Disk Drive - 5400 ' 'RPM Class SATA 6 Gb/s ' '256MB Cache 3.5 Inch - ' 'WD120EFAX)\r\n' '\r\n' '16 Nov 2019,\r\n' 'Asif.', 'cost': 429.0, 'created': datetime.datetime(2019, 11, 15, 22, 59, 12, 338331), 'id': 59732, 'multiplier': 0, 'name': '12TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 22, 59, 12, 338353)}, 59733: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://shop.westerndigital.com/products/internal-drives/wd-red-sata-hdd#WD140EFFX\r\n' '\r\n' '$505 (WD Red 12TB NAS ' 'Hard Disk Drive - 5400 ' 'RPM Class SATA 6 Gb/s ' '256MB Cache 3.5 Inch - ' 'WD140EFFX)\r\n' '\r\n' '16 Nov 2019,\r\n' 'Asif.', 'cost': 755.0, 'created': datetime.datetime(2019, 11, 15, 23, 0, 26, 345797), 'id': 59733, 'multiplier': 0, 'name': '14TB WD Red NAS 3.5-inch ' 'SATA 6Gb/s 5400rpm Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5014, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 0, 26, 345818)}, 59734: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.malabs.com/product/HD-ST14T1G\r\n' '$455 (Seagate ' 'Enterprise Capacity ' 'ST14000NM001G 14TB ' '7200RPM SATA 6Gb/s ' '256MB Enterprise Hard ' 'Drive (EXOSX16 ' '512E/4KN SATA) )\r\n' '\r\n' '16 Nov. 2019,\r\n' 'Asif.', 'cost': 545.0, 'created': datetime.datetime(2019, 11, 15, 23, 55, 20, 388025), 'id': 59734, 'multiplier': 0, 'name': '14TB Seagate Exos ' '3.5-inch SATA 6Gb/s Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2019, 11, 15, 23, 55, 20, 388044)}, 59735: {'blurb': '', 'choicecategory_id': 58838, 'comment': 'https://www.malabs.com/product/HD-ST16T1G\r\n' '\r\n' '$495 (Seagate ' 'Enterprise Capacity ' 'ST16000NM001G 16TB ' '7200RPM SATA 6Gb/s ' '256MB Enterprise Hard ' 'Drive (EXOSX16 ' '512E/4KN SATA) )\r\n' '\r\n' '16 Nov. 2019,\r\n' 'Asif.', 'cost': 545.0, 'created': datetime.datetime(2019, 11, 15, 23, 57, 34, 485063), 'id': 59735, 'multiplier': 0, 'name': '16TB Seagate Exos ' '3.5-inch SATA 6Gb/s Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5004, 'source': '', 'updated': datetime.datetime(2020, 1, 5, 18, 54, 17, 180596)}, 59766: {'blurb': '', 'choicecategory_id': 58833, 'comment': 'https://www.samsung.com/semiconductor/ssd/enterprise-ssd/MZILT30THMLA/\r\n' 'PM1643 ' 'MZILT30THMLA.\r\n' '05 Dec 2019, Asif.\r\n' '\r\n' '$6588 cost upped by ' '10% JJW 12/05/19', 'cost': 7245.0, 'created': datetime.datetime(2019, 12, 5, 21, 35, 40, 964660), 'id': 59766, 'multiplier': 0, 'name': '30.72TB Samsung ' 'Enterprise 2.5-inch SAS12 ' 'SSD', 'price': None, 'published': True, 'sortorder': 4550, 'source': '', 'updated': datetime.datetime(2019, 12, 12, 23, 31, 32, 323068)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2019, 9, 27, 14, 43, 55, 267733), 'defaultchoice_id': 59436, 'id': 59921, 'name': 'Hard Drive Array', 'option_id': 58847, 'product_id': 58988, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2019, 9, 27, 14, 44, 33, 103083)}), ('59627_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906a520>, 'allowed_quantities': '', 'choices': {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)}, 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)}, 48376: {'blurb': '', 'choicecategory_id': 43911, 'comment': None, 'cost': 763.0, 'created': datetime.datetime(2011, 4, 8, 12, 49, 6, 683243), 'id': 48376, 'multiplier': None, 'name': 'LSI MegaRAID SATA/SAS ' '9260-16i 16-port', 'price': None, 'published': True, 'sortorder': 4030, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 24, 733599)}, 49250: {'blurb': '', 'choicecategory_id': 43911, 'comment': '', 'cost': 319.0, 'created': datetime.datetime(2011, 6, 28, 9, 53, 20, 888034), 'id': 49250, 'multiplier': None, 'name': 'LSI Logic 9211-8i 8 port ' 'SAS/SATA 8x', 'price': None, 'published': True, 'sortorder': 4023, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 24, 572037)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 224631), 'defaultchoice_id': 46983, 'id': 59627, 'name': 'SAS/SATA Controller Card', 'option_id': 58812, 'product_id': 58988, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2018, 12, 11, 14, 8, 39, 514979)}), ('59623_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906aeb0>, '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)}, 59600: {'blurb': 'IPMI port for Remote ' 'System ' 'Management/Monitoring', 'choicecategory_id': 58866, 'comment': 'IPMI port for Remote ' 'System (Built-in)\r\n' '\r\n' '07 DEC 2018,\r\n' 'Asif.', 'cost': 0.0, 'created': datetime.datetime(2018, 12, 6, 13, 28, 44, 713573), 'id': 59600, 'multiplier': 1, 'name': 'IPMI port for Remote ' 'System Management', 'price': None, 'published': True, 'sortorder': 1, 'source': '', 'updated': datetime.datetime(2018, 12, 6, 13, 29, 2, 37936)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 212956), 'defaultchoice_id': 59600, 'id': 59623, 'name': 'System Monitoring', 'option_id': 58824, 'product_id': 58988, 'published': True, 'qty': 1, 'required': False, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 14, 52, 50, 257896)}), ('59666_1', {'_state': <django.db.models.base.ModelState object at 0x7f253906ad30>, 'allowed_quantities': '5', 'choices': {59617: {'blurb': '', 'choicecategory_id': 58867, 'comment': 'High efficient ' 'hot-swappable fans for ' 'best system cooling.', 'cost': 0.0, 'created': datetime.datetime(2018, 12, 11, 14, 14, 34, 382820), 'id': 59617, 'multiplier': 1, 'name': '80mm rear hot-swap ' 'exhaust PWM fan', 'price': None, 'published': True, 'sortorder': 80, 'source': '', 'updated': datetime.datetime(2018, 12, 11, 14, 14, 34, 382853)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 11, 14, 4, 2, 444), 'defaultchoice_id': 59617, 'id': 59666, 'name': 'System Cooling', 'option_id': 58825, 'product_id': 58988, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2019, 8, 25, 14, 55, 15, 735338)}), ('59674_1', {'_state': <django.db.models.base.ModelState object at 0x7f253a508f40>, 'allowed_quantities': '45', 'choices': {16850: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 35.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 16850, 'multiplier': None, 'name': 'Hard Disk Caddy ' '(MB122-AKGF)', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 15, 341896)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 15, 13, 28, 9, 892465), 'defaultchoice_id': 30, 'id': 59674, 'name': 'Add-ons (Require For SSDs)', 'option_id': 4086, 'product_id': 58988, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2018, 12, 15, 13, 29, 35, 365765)}), ('59622_1', {'_state': <django.db.models.base.ModelState object at 0x7f253a508880>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 18049: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18049, 'multiplier': None, 'name': 'Standard 1yr full /3yr ' 'limited warranty', 'price': None, 'published': True, 'sortorder': 9001, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 510446)}, 18051: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 100.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18051, 'multiplier': None, 'name': 'Extended 2yr full / 3yr ' 'limited warranty', 'price': None, 'published': True, 'sortorder': 9002, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 551220)}, 18052: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18052, 'multiplier': None, 'name': 'Premium full 3yr warranty', 'price': None, 'published': True, 'sortorder': 9003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 596260)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2018, 12, 6, 14, 23, 17, 209835), 'defaultchoice_id': 18049, 'id': 59622, 'name': 'Warranty', 'option_id': 18048, 'product_id': 58988, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2018, 12, 6, 15, 13, 26, 929469)})]), 'published': True, 'qty': 1, 'sku': 'DAS45', 'sortorder': 4050, 'summary': '', 'title': 'DAS45 (JBOD)', 'totprice': 14995.0, 'updated': datetime.datetime(2019, 9, 27, 14, 43, 55, 253729), 'weight': 120}

No GET data

No POST data

SQL queries from 1 connection

  •   default 249.57 ms (85 queries including 83 similar and 76 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('DAS45')
 ORDER BY
"products"."sortorder" ASC, "products"."sku" ASC
SELECT ••• FROM "products" WHERE UPPER("products"."sku"::text) = UPPER('DAS45') ORDER BY "products"."sortorder" ASC, "products"."sku" ASC
9.467436401797153%
23.63

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" = 58141
SELECT ••• FROM "categories" WHERE "categories"."id" = 58141
5.167816715658786%
12.90

Connection: default

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

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 (59606)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59606) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
1.373944726954518%
3.43

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 59506
SELECT ••• FROM "choices" WHERE "choices"."id" = 59506
  13 similar queries.   Duplicated 2 times.
2.6437593084229825%
6.60

Connection: default

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

Connection: default

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

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

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

Connection: default

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

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" = 58810
SELECT ••• FROM "options" WHERE "options"."id" = 58810
  16 similar queries.   Duplicated 2 times.
0.18007827912037733%
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(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" = 59921
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59921
  18 similar queries.   Duplicated 2 times.
0.2588923800616565%
0.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" = 58847
SELECT ••• FROM "options" WHERE "options"."id" = 58847
  16 similar queries.   Duplicated 2 times.
0.16269141079151328%
0.41

Connection: default

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

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 (59305, 59306, 59307, 59308, 59309, 59310, 59766, 59352, 59353, 59354, 59355, 59356, 59478, 59392, 59393, 59394, 59395, 56723, 59396, 59397, 59414, 59415, 59416, 59417, 59418, 59419, 59406, 59407, 59408, 59409, 59410, 59411, 59412, 59413, 59574, 59726, 59420, 59421, 59422, 59423, 59424, 59575, 59425, 59727, 59426, 58135, 58134, 59427, 58133, 58990, 59428, 59735, 59734, 59390, 56694, 56693, 56696, 56695, 56697, 58856, 59391, 56648, 56643, 56644, 56641, 56642, 58987, 59383, 59732, 59733, 56654, 56655, 58039, 58986, 59384, 59730, 59731, 58221, 58220, 58224, 58222, 58223, 59386, 59387, 59388, 59465, 59466, 59467, 59468, 59469, 59470, 59473, 59474, 59475, 59476, 59477, 59429, 59430, 59431, 59432, 59433, 59434, 59435, 59715, 59436, 59437, 59438, 59439, 59440, 59441, 59442, 59728, 59729, 59443, 59444, 59445, 59449, 59450, 59451, 59452, 59453, 59454, 59446, 59447, 59448, 59455, 59456, 59457, 59458, 59459, 59460, 59461, 59462, 59463, 59464)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59305, 59306, 59307, 59308, 59309, 59310, 59766, 59352, 59353, 59354, 59355, 59356, 59478, 59392, 59393, 59394, 59395, 56723, 59396, 59397, 59414, 59415, 59416, 59417, 59418, 59419, 59406, 59407, 59408, 59409, 59410, 59411, 59412, 59413, 59574, 59726, 59420, 59421, 59422, 59423, 59424, 59575, 59425, 59727, 59426, 58135, 58134, 59427, 58133, 58990, 59428, 59735, 59734, 59390, 56694, 56693, 56696, 56695, 56697, 58856, 59391, 56648, 56643, 56644, 56641, 56642, 58987, 59383, 59732, 59733, 56654, 56655, 58039, 58986, 59384, 59730, 59731, 58221, 58220, 58224, 58222, 58223, 59386, 59387, 59388, 59465, 59466, 59467, 59468, 59469, 59470, 59473, 59474, 59475, 59476, 59477, 59429, 59430, 59431, 59432, 59433, 59434, 59435, 59715, 59436, 59437, 59438, 59439, 59440, 59441, 59442, 59728, 59729, 59443, 59444, 59445, 59449, 59450, 59451, 59452, 59453, 59454, 59446, 59447, 59448, 59455, 59456, 59457, 59458, 59459, 59460, 59461, 59462, 59463, 59464) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.9827401895550777%
2.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 COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 59627
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59627
  18 similar queries.   Duplicated 2 times.
1.8488355097170621%
4.61

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 58824
SELECT ••• FROM "options" WHERE "options"."id" = 58824
  16 similar queries.   Duplicated 2 times.
0.16670376502125114%
0.42

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 59666
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59666
  18 similar queries.   Duplicated 2 times.
0.23873507666940208%
0.60

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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 (59617)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59617) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
0.1811291337995944%
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" = 58825
SELECT ••• FROM "options" WHERE "options"."id" = 58825
  16 similar queries.   Duplicated 2 times.
0.16154502386873107%
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" = 59674
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59674
  18 similar queries.   Duplicated 2 times.
0.24876596224374672%
0.62

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 59674
 ORDER BY
"choices"."sortorder" ASC, "choices"."cost" ASC
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 59674 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  8 similar queries.   Duplicated 2 times.
0.2551666225626142%
0.64

Connection: default

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

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

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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
  16 similar queries.   Duplicated 2 times.
0.1334585442605661%
0.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" = 58988 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 58988 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.4415500297582938%
1.10

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" = 58988 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 58988 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.15084541258943013%
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(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" = 58988 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 58988 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
0.15065434810229975%
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(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" = 58988 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
 LIMIT
1
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 58988 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC LIMIT 1
  3 similar queries.   Duplicated 3 times.
0.5202685984560079%
1.30

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

Connection: default

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

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

  +
SELECT "products_productimage"."id",
       "products_productimage"."published",
       "products_productimage"."created",
       "products_productimage"."updated",
       "products_productimage"."title",
       "products_productimage"."caption",
       "products_productimage"."sortorder",
       "products_productimage"."image",
       "products_productimage"."product_id"
  FROM
"products_productimage"
 WHERE
("products_productimage"."product_id" = 58988 AND "products_productimage"."published" = true)
 ORDER BY
"products_productimage"."sortorder" ASC
SELECT ••• FROM "products_productimage" WHERE ("products_productimage"."product_id" = 58988 AND "products_productimage"."published" = true) ORDER BY "products_productimage"."sortorder" ASC
  3 similar queries.   Duplicated 3 times.
0.16011204021525324%
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(446)
  return render (request, 'product.html', dict (
/usr/local/lib/python3.8/site-packages/django/shortcuts.py in render(36)
  content = loader.render_to_string(template_name, context, request, using=using)
/usr/local/lib/python3.8/site-packages/django/template/loader.py in render_to_string(62)
  return template.render(context, request)
/usr/local/lib/python3.8/site-packages/django/template/backends/django.py in render(61)
  return self.template.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(171)
  return self._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(150)
  return compiled_parent._render(context)
/usr/local/lib/python3.8/site-packages/django/test/utils.py in instrumented_test_render(96)
  return self.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py in render(62)
  result = block.nodelist.render(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render(937)
  bit = node.render_annotated(context)
/usr/local/lib/python3.8/site-packages/django/template/base.py in render_annotated(904)
  return self.render(context)
/usr/local/lib/python3.8/site-packages/django/template/defaulttags.py in render(166)
  len_values = len(values)
266 data-slides-show="4"
267 data-is-thumbs="true"
268 data-nav-for="#carousel-08-1">
269 {% for img in product.images.published %}
270 <div class="js-slide g-px-10">
271 <img class="img-fluid w-100" src="{{ img.image.url }}" alt="{{ img.image.alt }}" title="{{ img.image.title }}">
272 </div>
273 {% endfor %}

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

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

Connection: default

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

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

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 9
SELECT ••• FROM "options" WHERE "options"."id" = 9
  16 similar queries.   Duplicated 2 times.
0.13250322182491422%
0.33

Connection: default

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

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

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" = 59606
SELECT ••• FROM "choices" WHERE "choices"."id" = 59606
  13 similar queries.   Duplicated 2 times.
0.2333852710297516%
0.58

Connection: default

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

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

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

Connection: default

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

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

  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (59606)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (59606) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  8 similar queries.   Duplicated 2 times.
0.1575326696389932%
0.39

Connection: default

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

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

  +
SELECT "options"."id",
       "options"."name",
       "options"."usage_notes",
       "options"."sortorder",
       "options"."blurb",
       "options"."description",
       "options"."comments",
       "options"."published",
       "options"."created",
       "options"."updated"
  FROM
"options"
 WHERE
"options"."id" = 58813
SELECT ••• FROM "options" WHERE "options"."id" = 58813
  16 similar queries.   Duplicated 2 times.
0.24169657621992288%
0.60

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_re