eRacks/QUIET3

This ultra-quiet 3U rackmount system is our most versatile member of our QUIET rackmount line.

Perfect for Broadcast, Studio, DAW, or any other noise-restricted environment, even simply a quiet office. This is the model we use internally as development workstations (coupled with a 4K monitor, it makes for an outstanding distraction-free focusing environment for our techs). 

The usual test that we use for our quiet systems at eRacks is the "Is it on?" test. 

If you're not sure if it's on (and without looking at or seeing the power LED), if you can't tell if the unit is powered on, then we've succeeded in meeting our QuietByDesign(tm) goals.

Overall, assuming the CPU is not under a heavy load so the automatic temperature sensor kicks in and raises the CPU fan speed, this model is typically about ~1db quieter than the eRacks/QUIET2 shown on the decibel meter in the video below.

 

The eRacks/QUIET3 is available in several internal configurations to support different numbers of 2.5", 3.5", hostswap, and (slim) optical drives - see photos for examples.

  • Up to four internal 3.5" SATA/SAS hard drives
  • Up to two external 5.25" drives / drive bays (removable options available)
  • Up to one external 3.5" SATA/SAS hard drive
  • Up to two external hot-swap 3.5" SATA/SAS hard drives (see photos)
  • Up to twelve external hot-swap 2.5" SATA/SAS hard drives / SSDs  (1/4/6/8/12 cages - see photos)
  • Up to two internal M.2 SSDs or even an internal WifiCard (Requires upgraded DDR4 Motherboard)
  • Up to 32GB of DDR3/DDR4 memory, and 350W power supply (500W and 700W available).

Complete customization available, including operating system choice and any open source software packages installed and configured.

Monitor, keyboard and mouse are sold separately.

This model's base configuration price is $1495


Features & Specifications

The eRacks/QUIET3 system includes:
Form Factor: 3U Rackmount

Chassis: 19.00" x 5.25" x 16.86"  (482.6 mm x 133.3 mm x 428.2 mm)
Chassis ROHS Compliant: Yes
Power Supply: 350W, 500W, or 700W Quiet and/or fanless PSU
Motherboard: MicroATX or Mini-ITX
Processor: Intel i3 / i5 / i7, Haswell & Xeon v3-capable (email us for custom configurations)
Drives: Two2 5.25" external bays, One 3.5" external bay, slim-CD capable, and up to 4 internal 3.5" SATA/SAS Hard Drives
Swappable drives: Bays can be configured in various ways for up to 2x hotswap 3.5" drives, or up to 12x hotswap 2.5" drives - removables can be 2/4/6/8/12 drives, see photos
Memory: DDR3 / DDR4, up to 32GB (More via custom quote / build - contact us)
PCI Slot: up to 4 Full-height PCI, up to 165mm deep with HDs installed
Video: Onboard Graphics Controller, multiple/2nd video cards available (email for custom configurations)
LAN: Onboard 10/100/1000 Gigabit Ethernet (Dual GbE and 10GbE Available, email us for custom configs)

SATA Express support: Available, for 10 Gb/s data transfer
Ports: Up to 8x USB ports, including USB3 support
; Dual M.2 slots available for SSD Drive and WIFI card, 2 front USB
Audio: 6-channel HD Audio, up to 7.1ch HD Audio available
Video Outputs: VGA, HDMI & DVI-D Available
OS: Ubuntu Linux operating system installed as default, any OS available (email for custom configurations)
PCI slot Options: Additional network connectivity, up to 2x additional graphics cards, High-end HD audio, and more - email us with your custom config request.


Configure eRacks/QUIET3

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: $ 1495.00 As Configured: $ 1495.00
Configuration Summary:
Default Configuration
Option Choices More Info Add/Subtract
ChassisQUIET3U Rackmount 15-17" deep ATX Quiet PSU
QuietizingQuietize: low-noise components
Power SupplyQuiet 350W Power Supply
MotherboardeRacks Intel i3/i5/i7 Motherboard
Intel CPUIntel Core i3 3.0 GHz CPU
Memory DDR3 / DDR48GB DDR3 Memory
3.5 inch Baynone
5.25 inch BayBlu-Ray Multi-Drive, 10xBD, 48xCD, 16xDVD
5.25 inch Bay 2none
2.5" SSD Array (Optional, uses 5.25" bays)128 GB SATA SSD
Internal drive bay256GB SATA 2.5" SSD
PCInone
PCInone
PCInone
PCInone
Rails and Bracketsnone
Operating SystemUbuntu Linux 18.04 LTS Desktop Edition
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 7009.485 msec
System CPU time 1451.689 msec
Total CPU time 8461.174 msec
Elapsed time 20097.194 msec
Context switches 18 voluntary, 2470 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 0x7fbbefef88b0>
COMPRESS_MINT_DELAY 30
COMPRESS_MTIME_DELAY 10
COMPRESS_OFFLINE False
COMPRESS_OFFLINE_CONTEXT {'STATIC_URL': '/static/'}
COMPRESS_OFFLINE_MANIFEST 'manifest.json'
COMPRESS_OFFLINE_TIMEOUT 31536000
COMPRESS_OUTPUT_DIR 'CACHE'
COMPRESS_PARSER 'compressor.parser.AutoSelectParser'
COMPRESS_PRECOMPILERS ()
COMPRESS_REBUILD_TIMEOUT 2592000
COMPRESS_ROOT '/home/joe/eracks12/web/static'
COMPRESS_STORAGE 'compressor.storage.CompressorFileStorage'
COMPRESS_TEMPLATE_FILTER_CONTEXT {'STATIC_URL': '/static/'}
COMPRESS_URL '/static/'
COMPRESS_URL_PLACEHOLDER '/__compressor_url_placeholder__/'
COMPRESS_VERBOSE False
COMPRESS_YUGLIFY_BINARY 'yuglify'
COMPRESS_YUGLIFY_CSS_ARGUMENTS '--terminal'
COMPRESS_YUGLIFY_JS_ARGUMENTS '--terminal'
COMPRESS_YUI_BINARY 'java -jar yuicompressor.jar'
COMPRESS_YUI_CSS_ARGUMENTS ''
COMPRESS_YUI_JS_ARGUMENTS ''
CONTACT_EMAILS ['info@eracks.com', 'joe@eracks.com']
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE 'Lax'
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS False
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'postgres', 'NAME': 'eracksdb', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'HOST': 'postgres', 'MIRROR': None, 'NAME': 'eracksdb_test', 'PASSWORD': '********************', 'SERIALIZE': False, 'USER': 'eracks'}, 'TIME_ZONE': None, 'USER': 'eracks'}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DECIMAL_SEPARATOR '.'
DEFAULT_CHARSET 'utf-8'
DEFAULT_CONTENT_TYPE 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL 'support@eracks.com'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DISALLOWED_USER_AGENTS []
DJANGO_WYSIWYG_FLAVOR 'ckeditor'
DJANGO_WYSIWYG_MEDIA_URL '//cdn.ckeditor.com/4.5.3/full-all/'
DOCKER True
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'mail.eracks.com'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER 'relay@librehost.com'
EMAIL_PORT 587
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME True
EMAIL_USE_SSL False
EMAIL_USE_TLS True
FILEBROWSER_DIRECTORY ''
FILEBROWSER_VERSIONS_BASEDIR ''
FILE_CHARSET 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS None
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORM_RENDERER 'django.forms.renderers.DjangoTemplates'
GITLAB False
GOOGLE_ANALYTICS_DOMAIN 'eracks.com'
GOOGLE_ANALYTICS_ID 'UA-37665012-1'
GRAPPELLI_INDEX_DASHBOARD 'eracks.dashboard.CustomIndexDashboard'
HAYSTACK_CONNECTIONS {'default': {'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine', 'PATH': '/home/joe/eracks12/web/eracks/whoosh_index'}}
HOSTNAME 'web'
IGNORABLE_404_URLS []
INFO_EMAIL 'info@eracks.com'
INSTALLED_APPS ['grappelli.dashboard', 'grappelli', 'filebrowser', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'captcha', 'compressor', 'apps.catax', 'apps.home', 'apps.components', 'apps.customers', 'apps.orders', 'apps.products', 'apps.quotes', 'quickpages', 'taggit', 'django.contrib.sites', 'django.contrib.redirects', 'debug_toolbar', 'secure_mail', 'django_wysiwyg', 'memcache_status', 'haystack', 'utils', 'userena', 'guardian', 'easy_thumbnails']
INSTANCE 'prod'
INTERNAL_IPS ('127.0.0.1', '127.0.1.1', '47.143.87.9', '47.152.181.244', '68.4.180.198', '172.18.0.1', '172.18.0.2', '172.18.0.3', '172.18.0.4', '172.18.0.5', '172.19.0.1', '172.19.0.2', '172.19.0.3', '172.19.0.4', '172.19.0.5', '216.172.133.7')
IP '172.18.0.5'
LANGUAGES [('af', 'Afrikaans'), ('ar', 'Arabic'), ('ast', 'Asturian'), ('az', 'Azerbaijani'), ('bg', 'Bulgarian'), ('be', 'Belarusian'), ('bn', 'Bengali'), ('br', 'Breton'), ('bs', 'Bosnian'), ('ca', 'Catalan'), ('cs', 'Czech'), ('cy', 'Welsh'), ('da', 'Danish'), ('de', 'German'), ('dsb', 'Lower Sorbian'), ('el', 'Greek'), ('en', 'English'), ('en-au', 'Australian English'), ('en-gb', 'British English'), ('eo', 'Esperanto'), ('es', 'Spanish'), ('es-ar', 'Argentinian Spanish'), ('es-co', 'Colombian Spanish'), ('es-mx', 'Mexican Spanish'), ('es-ni', 'Nicaraguan Spanish'), ('es-ve', 'Venezuelan Spanish'), ('et', 'Estonian'), ('eu', 'Basque'), ('fa', 'Persian'), ('fi', 'Finnish'), ('fr', 'French'), ('fy', 'Frisian'), ('ga', 'Irish'), ('gd', 'Scottish Gaelic'), ('gl', 'Galician'), ('he', 'Hebrew'), ('hi', 'Hindi'), ('hr', 'Croatian'), ('hsb', 'Upper Sorbian'), ('hu', 'Hungarian'), ('hy', 'Armenian'), ('ia', 'Interlingua'), ('id', 'Indonesian'), ('io', 'Ido'), ('is', 'Icelandic'), ('it', 'Italian'), ('ja', 'Japanese'), ('ka', 'Georgian'), ('kab', 'Kabyle'), ('kk', 'Kazakh'), ('km', 'Khmer'), ('kn', 'Kannada'), ('ko', 'Korean'), ('lb', 'Luxembourgish'), ('lt', 'Lithuanian'), ('lv', 'Latvian'), ('mk', 'Macedonian'), ('ml', 'Malayalam'), ('mn', 'Mongolian'), ('mr', 'Marathi'), ('my', 'Burmese'), ('nb', 'Norwegian Bokmål'), ('ne', 'Nepali'), ('nl', 'Dutch'), ('nn', 'Norwegian Nynorsk'), ('os', 'Ossetic'), ('pa', 'Punjabi'), ('pl', 'Polish'), ('pt', 'Portuguese'), ('pt-br', 'Brazilian Portuguese'), ('ro', 'Romanian'), ('ru', 'Russian'), ('sk', 'Slovak'), ('sl', 'Slovenian'), ('sq', 'Albanian'), ('sr', 'Serbian'), ('sr-latn', 'Serbian Latin'), ('sv', 'Swedish'), ('sw', 'Swahili'), ('ta', 'Tamil'), ('te', 'Telugu'), ('th', 'Thai'), ('tr', 'Turkish'), ('tt', 'Tatar'), ('udm', 'Udmurt'), ('uk', 'Ukrainian'), ('ur', 'Urdu'), ('vi', 'Vietnamese'), ('zh-hans', 'Simplified Chinese'), ('zh-hant', 'Traditional Chinese')]
LANGUAGES_BIDI ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE 'en-us'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LOADING_FIXTURES False
LOCALDEV False
LOCALE_PATHS []
LOGGING {'disable_existing_loggers': False, 'handlers': {'file': {'class': 'logging.FileHandler', 'filename': 'django.log', 'level': 'INFO'}}, 'loggers': {'django': {'handlers': ['file'], 'level': 'INFO', 'propagate': True}}, 'version': 1}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/accounts/profile/'
LOGIN_URL '/accounts/signin/'
LOGOUT_REDIRECT_URL None
LOG_LEVEL 'INFO'
MANAGERS (('Joe', 'joe@eracks.com'), ('Info', 'info@eracks.com'))
MEDIA_ROOT '/home/joe/eracks12/web/media'
MEDIA_URL '/media/'
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.cache.FetchFromCacheMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', 'django.contrib.redirects.middleware.RedirectFallbackMiddleware']
MIGRATING False
MIGRATION_MODULES {}
MONTH_DAY_FORMAT 'F j'
MYURL 'https://eracks.com'
NOCAPTCHA True
NUMBER_GROUPING 0
ORDER_EMAILS ['orders@eracks.com']
ORDER_FROM_EMAIL 'orders@eracks.com'
ORDER_TYPE 'Confirmed'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT_DAYS '********************'
POSTGRES_HOST 'postgres'
PREPEND_WWW False
QUICKPAGE_HEADING 2
RECAPTCHA_PRIVATE_KEY '********************'
RECAPTCHA_PUBLIC_KEY '********************'
REGULAR_EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
ROOT_URLCONF 'eracks.urls'
SECRET_KEY '********************'
SECURE_BROWSER_XSS_FILTER False
SECURE_CONTENT_TYPE_NOSNIFF False
SECURE_EMAIL_BACKEND 'secure_mail.backends.EncryptingSmtpEmailBackend'
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_MAIL_GNUPG_ENCODING 'utf-8'
SECURE_MAIL_GNUPG_HOME '/home/joe/.gnupg'
SECURE_MAIL_SIGNING_KEY_DATA '********************'
SECURE_ORDER_EMAIL 'joe@eracks.com'
SECURE_PROXY_SSL_HEADER None
SECURE_REDIRECT_EXEMPT []
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SELENIUM_BROWSER 'chrome'
SELENIUM_CALLBACK_HOST 'web'
SELENIUM_HOST None
SERVER_EMAIL 'support@eracks.com'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE 'Lax'
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.PickleSerializer'
SETTINGS_MODULE 'settings.prod'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SITE_ID 1
SITE_NAME 'eRacks'
SITE_TO_VALIDATE 'client'
SLEEPTIME 0.1
STATICFILES_DIRS [('unify', '/home/joe/eracks12/unify')]
STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder']
STATICFILES_STORAGE 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT '/home/joe/eracks12/web/static'
STATIC_URL '/static/'
TELEGRAM_BOT_TOKEN '********************'
TELEGRAM_CHAT_ID '116010224&te'
TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/home/joe/eracks12/web/templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', 'django.template.context_processors.i18n', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.tz', 'utils.context_processors.settings', 'utils.context_processors.models', 'quickpages.context_processors.quick_snippets', 'quickpages.context_processors.quick_snippet_tags', 'apps.home.context_processors.registration_forms', 'apps.home.context_processors.cart_variables', 'apps.home.context_processors.environment', 'apps.home.context_processors.google_analytics_tags', 'apps.home.context_processors.background_images', 'apps.home.context_processors.metacat_tags']}}]
TESTING False
TEST_NON_SERIALIZED_APPS []
TEST_RESULTS_DIR '/home/joe/eracks12/web/media/test_results'
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'UTC'
TRACE ''
USERENA_ACTIVATION_REQUIRED False
USERENA_DEFAULT_PRIVACY 'closed'
USERENA_REDIRECT_ON_SIGNOUT '/'
USERENA_REGISTER_PROFILE False
USERENA_USE_MESSAGES True
USERENA_WITHOUT_USERNAMES True
USE_I18N True
USE_L10N True
USE_THOUSAND_SEPARATOR False
USE_TZ False
USE_X_FORWARDED_HOST False
USE_X_FORWARDED_PORT False
VALIDATE_HTML_URL 'http://validator:8888'
VALIDATOR_HOST None
WSGI_APPLICATION 'eracks.wsgi.application'
X_FRAME_OPTIONS 'SAMEORIGIN'
YEAR_MONTH_FORMAT 'F Y'

Headers

Request headers

Key Value
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding br,gzip
Accept-Language en-US,en;q=0.5
Connection close
Host eracks.com
If-Modified-Since Fri, 03 Apr 2020 22:19:01 MEST
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/quiet-systems/QUIET3/
QUERY_STRING
REMOTE_ADDR 172.18.0.2
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME 0.0.0.0
SERVER_PORT 8000
SERVER_PROTOCOL HTTP/1.0
SERVER_SOFTWARE gunicorn/20.0.4

Request

View information

View function Arguments Keyword arguments URL name
apps.products.views.product () {'category': 'quiet-systems', 'sku': 'QUIET3'} None

No cookies

Session data

Variable Value
'prod' {'baseoptions': '', 'baseprice': 1495.0, 'blurb': '<p><strong><span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px">This ' 'ultra-quiet 3U </span></strong><span ' 'style="font-size:13px"><strong>rackmount</strong> system is our ' 'most versatile member of our QUIET rackmount line, and also our ' 'quietest..</span></p>\r\n' '\r\n' '<p>Perfect for Broadcast, Studio, DAW, or any other<span ' 'style="font-size:13px">&nbsp;noise-restricted environment, even ' 'simply a quiet office. This is the model we use internally as ' 'development workstations (coupled with a 4K monitor, it makes for ' 'an outstanding distraction-free focusing environment for our ' 'techs).&nbsp;</span></p>\r\n' '\r\n' '<p><span style="font-size:13px">The usual test that we use for our ' 'quiet systems at eRacks is the &quot;Is it on?&quot; test.&nbsp; ' '</span></p>\r\n' '\r\n' '<p><span style="font-size:13px">If you&#39;re not sure if it&#39;s ' 'on (and without looking at or seeing the power LED), if you ' 'can&#39;t tell if the unit is powered on, then we&#39;ve succeeded ' 'in meeting our QuietByDesign(tm) goals.</span></p>', 'category_id': 2, 'comments': 'On 07/14/2015 10:56 AM, Robert Li wrote:\r\n' '> You may add the following MBs to your website:\r\n' '>\r\n' '> Asrock Z87M-- ' 'http://www.asrock.com/mb/Intel/Z87M%20Extreme4/\r\n' '>\r\n' '> The cost is about $120 (up to 32GB DDR3-2800/1600/1333; ' 'LGA1150)\r\n' '>\r\n' '> Gigabyte X99M-- ' 'http://www.gigabyte.com/products/product-page.aspx?pid=5221#ov\r\n' '> The cost is about $260 (for DDR4 3000/2800/2133, up to 32GB, ' 'LGA 2011-v3 Intel)\r\n' '\r\n' '\r\n' 'Fm Robert:\r\n' 'Here are your P/S options for the 2U quiet system:\r\n' '\r\n' '500W PS2 ATX High Efficiency Switching Power Supply - TC-500PD8B ' '@ $99\r\n' 'http://istarusa.com/xeal/products.php?model=TC-500PD8B#.VaV97PlVikp\r\n' '\r\n' '700W PS2 ATX High Efficiency Switching Power Supply - TC-700PD8B ' '@ $156\r\n' 'http://istarusa.com/xeal/products.php?model=TC-700PD8B#.VaV99PlVikp\r\n' ' \r\n' '\r\n' 'Scraped from Zope as of 2012-04-26\r\n' '\r\n' 'Scraped from Zope as of 2012-05-01\r\n' '\r\n' 'Scraped from Zope as of 2012-05-04\r\n' '\r\n' 'Scraped from Zope as of 2012-05-04\r\n' '\r\n' 'Scraped from Zope as of 2012-05-05\r\n' '\r\n' 'Scraped from Zope as of 2012-05-19\r\n' '\r\n' 'Scraped from Zope as of 2012-05-19\r\n' '\r\n' 'Scraped from Zope as of 2012-10-21\r\n' '\r\n' 'Scraped from Zope as of 2012-11-04', 'cost': 850.0, 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 267720), 'description': '<!-- BEGIN QUIET2 PRODUCT CONTENT -->\r\n' '<div>\r\n' '<p>This <strong>ultra-quiet 3U rackmount</strong> system is ' 'our most versatile member of our QUIET rackmount line.</p>\r\n' '\r\n' '<p>Perfect for Broadcast, Studio, DAW, or any ' 'other&nbsp;noise-restricted environment, even simply a quiet ' 'office. This is the model we use internally as development ' 'workstations (coupled with a 4K monitor, it makes for an ' 'outstanding distraction-free focusing environment for our ' 'techs).&nbsp;</p>\r\n' '\r\n' '<p>The usual test that we use for our quiet systems at eRacks ' 'is the &quot;Is it on?&quot; test.&nbsp;</p>\r\n' '\r\n' '<p>If you&#39;re not sure if it&#39;s on (and without looking ' 'at or seeing the power LED), if you can&#39;t tell if the ' 'unit is powered on, then we&#39;ve succeeded in meeting our ' 'QuietByDesign(tm) goals.</p>\r\n' '\r\n' '<p>Overall, assuming the CPU is not under a heavy load so the ' 'automatic temperature sensor kicks in and raises the CPU fan ' 'speed, this model is typically about ~1db quieter than the ' 'eRacks/QUIET2 shown on the decibel meter in the video ' 'below.</p>\r\n' '\r\n' '<p>&nbsp;</p>\r\n' '\r\n' '<p>The <strong>eRacks/QUIET3</strong>&nbsp;is available in ' 'several internal configurations to support different numbers ' 'of 2.5&quot;, 3.5&quot;, hostswap,&nbsp;and (slim) optical ' 'drives - see photos for examples.</p>\r\n' '\r\n' '<ul>\r\n' '\t<li><iframe align="right" frameborder="0" height="315" ' 'scrolling="no" ' 'src="https://www.youtube.com/embed/xj7iAHpeM9M" ' 'style="float:right" width="560"></iframe>Up to ' '<strong>four</strong> internal 3.5&quot; SATA/SAS hard ' 'drives</li>\r\n' '\t<li>Up to ' '<strong>two</strong>&nbsp;external&nbsp;5.25&quot; drives / ' 'drive bays (removable options available)</li>\r\n' '\t<li>Up to <strong>one</strong>&nbsp;external 3.5&quot; ' 'SATA/SAS hard drive</li>\r\n' '\t<li>Up to <strong>two</strong>&nbsp;external hot-swap ' '3.5&quot; SATA/SAS hard drives (see photos)</li>\r\n' '\t<li>Up to <strong>twelve</strong>&nbsp;external hot-swap ' '2.5&quot; SATA/SAS hard drives / SSDs &nbsp;(1/4/6/8/12 cages ' '- see photos)</li>\r\n' '\t<li>Up to <strong>two</strong>&nbsp;internal M.2 SSDs or ' 'even an internal WifiCard (Requires upgraded DDR4 ' 'Motherboard)</li>\r\n' '\t<li>Up to <strong>32GB</strong> of DDR3/DDR4 memory, and ' '350W power supply (500W and 700W available).</li>\r\n' '</ul>\r\n' '\r\n' '<p>Complete customization available, including operating ' 'system choice and any open source software packages installed ' 'and configured.</p>\r\n' '\r\n' '<p>Monitor, keyboard and mouse are sold separately.</p>\r\n' '\r\n' '<p>This model&#39;s base configuration&nbsp;price is ' '$1495</p>\r\n' '\r\n' '<div><!--END QUIET2 PRODUCT CONTENT --></div>\r\n' '</div>', 'features': '<p><span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px">The ' 'eRacks/QUIET3&nbsp;system includes:<br />\r\n' '<strong>Form Factor</strong>: 3U Rackmount</span><br />\r\n' '<span style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px"><strong>Chassis:</strong> </span>19.00&quot; x ' '5.25&quot; x 16.86&quot; &nbsp;(482.6 mm x 133.3 mm x 428.2 ' 'mm<span style="color:black; ' 'font-family:geneva,verdana,helvetica; ' 'font-size:13px">)</span><br />\r\n' '<span style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px"><strong>Chassis ROHS Compliant</strong>: Yes<br ' '/>\r\n' '<strong>Power Supply:</strong>&nbsp;350W, 500W, or 700W Quiet ' 'and/or fanless PSU<br />\r\n' '<strong>Motherboard:</strong> MicroATX or Mini-ITX<br />\r\n' '<strong>Processor:</strong> Intel i3 / i5 / i7, Haswell &amp; ' 'Xeon v3-capable (email us for custom configurations)<br />\r\n' '<strong>Drives:</strong>&nbsp;Two2 5.25&quot; external bays, One ' '3.5&quot; external bay,&nbsp;slim-CD capable, and up to ' '4&nbsp;internal 3.5&quot; SATA/SAS Hard Drives<br />\r\n' '<strong>Swappable drives</strong>: Bays can be configured in ' 'various ways for up to 2x hotswap 3.5&quot; drives, or up to 12x ' 'hotswap 2.5&quot; drives - removables can be 2/4/6/8/12 drives, ' 'see photos<br />\r\n' '<strong>Memory:</strong> DDR3 / DDR4, up to 32GB&nbsp;(More via ' 'custom&nbsp;quote / build - contact us)<br />\r\n' '<strong>PCI Slot:</strong> up to 4 Full-height PCI, up to 165mm ' 'deep with HDs installed<br />\r\n' '<strong>Video:</strong> Onboard Graphics Controller, ' 'multiple/2nd video cards available <span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px">(email for ' 'custom configurations)</span><br />\r\n' '<strong>LAN:</strong> Onboard 10/100/1000 Gigabit Ethernet (Dual ' 'GbE and&nbsp;10GbE Available, email us for custom ' 'configs)</span><br />\r\n' '<span style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px"><strong>SATA Express support</strong>: ' 'Available, for 10 Gb/s data transfer<br />\r\n' '<strong>Ports:</strong> Up to 8x USB ports, including USB3 ' 'support</span><span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px">; ' '</span><span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px">Dual M.2 ' 'slots available for SSD Drive and WIFI card, 2 front ' 'USB</span><br />\r\n' '<span style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px"><strong>Audio</strong>: 6-channel HD Audio, up ' 'to 7.1ch HD Audio available</span><br />\r\n' '<span style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px"><strong>Video Outputs</strong>: VGA, HDMI &amp; ' 'DVI-D Available<br />\r\n' '<strong>OS:</strong> Ubuntu Linux operating system installed as ' 'default, any OS available <span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px"><span ' 'style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px">(email for custom ' 'configurations)</span></span><br />\r\n' '<strong>PCI slot Options:</strong> Additional network ' 'connectivity, up to 2x additional graphics cards, High-end HD ' 'audio, and more - <span style="color:black; ' 'font-family:geneva,verdana,helvetica; font-size:13px"><span ' 'style="color:black; font-family:geneva,verdana,helvetica; ' 'font-size:13px">email us with your custom config ' 'request.</span></span></span></p>', 'id': 57229, 'image': <FileObject: images/products/quiet3/DSC_0674.JPG>, 'link': '', 'meta_description': 'This ultra-quiet 3U rackmount system is our most ' 'versatile member of our QUIET rackmount line.\r\n' '\r\n' 'Perfect for Braodcast, Studio, DAW, or any other\xa0' 'noise-restricted environment, even simply a quiet ' 'office. This is the model we use internally as ' 'development workstations (coupled with a 4K monitor, it ' 'makes for an outstanding distraction-free focusing ' 'environment for our techs).\xa0\r\n' '\r\n' 'The usual test that we use for our quiet systems at ' 'eRacks is the "Is it on?" test.\xa0\r\n' '\r\n' "If you're not sure if it's on (and without looking at or " "seeing the power LED), if you can't tell if the unit is " "powered on, then we've succeeded in meeting our " 'QuietByDesign(tm) goals.', 'meta_keywords': 'Quiet rackmount, Linux DAW, Low-noise rackmount PC', 'meta_title': 'eRacks/QUIET3 - "Is it on?"', 'name': 'eRacks/QUIET3', 'notes': '', 'opts': OrderedDict([('57236_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed936550>, 'allowed_quantities': '', 'choices': {36902: {'blurb': '', 'choicecategory_id': 43891, 'comment': 'D-313 istarusa.com ', 'cost': 190.0, 'created': datetime.datetime(2008, 1, 18, 0, 0), 'id': 36902, 'multiplier': None, 'name': 'QUIET3U Rackmount 15-17" ' 'deep ATX Quiet PSU', 'price': None, 'published': True, 'sortorder': 100, 'source': '', 'updated': datetime.datetime(2015, 12, 18, 22, 10, 32, 759652)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 357893), 'defaultchoice_id': 36902, 'id': 57236, 'name': 'Chassis', 'option_id': 9, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2015, 12, 18, 22, 12, 11, 561113)}), ('57247_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed936970>, 'allowed_quantities': '', 'choices': {18007: {'blurb': '', 'choicecategory_id': 57594, 'comment': None, 'cost': 120.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18007, 'multiplier': None, 'name': 'Quietize: low-noise ' 'components', 'price': None, 'published': True, 'sortorder': 1, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 26, 15, 200835)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 395726), 'defaultchoice_id': 18007, 'id': 57247, 'name': 'Quietizing', 'option_id': 16853, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': True, 'updated': datetime.datetime(2015, 12, 18, 22, 12, 11, 634306)}), ('57241_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed7524f0>, 'allowed_quantities': '', 'choices': {56938: {'blurb': 'Quiet 350W PSU (Power ' 'Supply Unit)\r\n' 'Either silent / fanless ' 'or low-rpm / low-noise ' 'fan', 'choicecategory_id': 43892, 'comment': 'Robert: \r\n' 'from Logan Harris ' 'quote #903009\r\n' 'iStarUSA TC-350PD3 ' '20+4Pin 350W Single ' 'PS3 Power Supply\r\n', 'cost': 90.0, 'created': datetime.datetime(2015, 7, 15, 10, 54, 25, 715095), 'id': 56938, 'multiplier': None, 'name': 'Quiet 350W Power Supply', 'price': None, 'published': True, 'sortorder': 191, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 41, 717989)}, 56939: {'blurb': '500W PSU (Power Supply ' 'Unit)\r\n' 'o Complies with ' 'ATX/EPS 12V Standards\r\n' 'o Dual 12V Rails\r\n' 'o High Reliability: ' 'MTBF>100,000 hours\r\n' 'o Protection: Over ' 'Current, Over Voltage, ' 'and Short-Circuit\r\n' 'o Active PFC ' 'Circuit\r\n' 'o Full Range Input\r\n' 'o 80mm Dual Ball ' 'Bearing Fan\r\n' 'o High Efficiency 80% ' 'above\r\n' 'o ROHS Compliance\r\n', 'choicecategory_id': 43892, 'comment': 'Robert: \r\n' '500W PS2 ATX High ' 'Efficiency Switching ' 'Power Supply - ' 'TC-500PD8B @ $99\r\n' 'http://istarusa.com/xeal/products.php?model=TC-500PD8B#.VaV97PlVikp', 'cost': 110.0, 'created': datetime.datetime(2015, 7, 15, 11, 10, 1, 464936), 'id': 56939, 'multiplier': None, 'name': '500W Power Supply', 'price': None, 'published': True, 'sortorder': 192, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 41, 853548)}, 56940: {'blurb': '700W PSU (Power Supply ' 'Unit)\r\n' 'o Complies with ATX/EPS ' '12V Standards\r\n' 'o High Reliability: ' 'MTBF>100,000 hours\r\n' 'o Protection: Over ' 'Current, Over Voltage, ' 'and Short-Circuit\r\n' 'o Active PFC Circuit\r\n' 'o Full Range Input\r\n' 'o High Efficiency 80% ' 'above\r\n' 'o Front Load 80mm ' 'Fan\r\n', 'choicecategory_id': 43892, 'comment': 'Robert: \r\n' '700W PS2 ATX High ' 'Efficiency Switching ' 'Power Supply - ' 'TC-700PD8B @ $156\r\n' 'http://istarusa.com/xeal/products.php?model=TC-700PD8B#.VaV99PlVikp', 'cost': 170.0, 'created': datetime.datetime(2015, 7, 15, 11, 13, 5, 893703), 'id': 56940, 'multiplier': None, 'name': '700W Power Supply', 'price': None, 'published': True, 'sortorder': 193, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 41, 948535)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 375540), 'defaultchoice_id': 56938, 'id': 57241, 'name': 'Power Supply', 'option_id': 56937, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 12, 18, 22, 16, 30, 727363)}), ('57238_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752220>, 'allowed_quantities': '', 'choices': {7938: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'renamed from "PC133" ' ':)\r\n' 'Based on basic Logan ' 'Harris / QUIET2 ' 'mobo, \r\n' 'BIOSTAR H61MGV, ' 'LGA1155, MICRO ATX, ' '$46\r\n' 'from Robert', 'cost': 56.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 7938, 'multiplier': None, 'name': 'eRacks Intel i3/i5/i7 ' 'Motherboard', 'price': None, 'published': True, 'sortorder': 1300, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 10, 547524)}, 56953: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'Based on middle GBB / ' 'QUIET2 mobo, \r\n' 'Asrock Z87M-- ' 'http://www.asrock.com/mb/Intel/Z87M%20Extreme4/\r\n' 'The cost is about $120 ' '(up to 32GB ' 'DDR3-2800/1600/1333; ' 'LGA1150)\r\n' 'from Robert', 'cost': 130.0, 'created': datetime.datetime(2015, 7, 15, 14, 19, 56, 755428), 'id': 56953, 'multiplier': None, 'name': 'eRacks Premium Intel ' 'i3/i5/i7/Xeon Motherboard', 'price': None, 'published': True, 'sortorder': 1300, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 11, 306180)}, 56954: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'Based on best of GBB / ' 'QUIET2 mobo, \r\n' 'Gigabyte X99M-- ' 'http://www.gigabyte.com/products/product-page.aspx?pid=5221#ov\r\n' 'The cost is about $260 ' '(for DDR4 ' '3000/2800/2133, up to ' '32GB, LGA 2011-v3 ' 'Intel)\r\n' 'from Robert', 'cost': 280.0, 'created': datetime.datetime(2015, 7, 15, 14, 22, 7, 916525), 'id': 56954, 'multiplier': None, 'name': 'eRacks Extreme DDR4 Intel ' 'i3/i5/i7/Xeon Motherboard', 'price': None, 'published': True, 'sortorder': 1300, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 16, 346169)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 365301), 'defaultchoice_id': 7938, 'id': 57238, 'name': 'Motherboard', 'option_id': 56944, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 11, 9, 22, 12, 44, 16935)}), ('57721_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752190>, 'allowed_quantities': '', 'choices': {44033: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'socket 1156\r\n' 'Was i3 Dual-core ' '3.06GHz 2.5GT/s i3-540', 'cost': 117.0, 'created': datetime.datetime(2010, 1, 17, 8, 27, 2, 103108), 'id': 44033, 'multiplier': None, 'name': 'Intel Core i3 3.0 GHz CPU', 'price': None, 'published': True, 'sortorder': 1711, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 58, 253002)}, 44034: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'socket 1156', 'cost': 172.0, 'created': datetime.datetime(2010, 1, 17, 8, 27, 58, 713497), 'id': 44034, 'multiplier': None, 'name': 'Intel Core i5 Dual-core ' '3.20GHz 2.5GT/s i5-650 ' 'CPU', 'price': None, 'published': True, 'sortorder': 1713, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 58, 648404)}, 44035: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'socket 1156', 'cost': 197.0, 'created': datetime.datetime(2010, 1, 17, 8, 29, 13, 455012), 'id': 44035, 'multiplier': None, 'name': 'Intel Core i5 Dual-core ' '3.33GHz 2.5GT/s i5-660 ' 'CPU', 'price': None, 'published': True, 'sortorder': 1714, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 58, 842317)}, 44036: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'socket 1156', 'cost': 288.0, 'created': datetime.datetime(2010, 1, 17, 8, 30, 27, 253911), 'id': 44036, 'multiplier': None, 'name': 'Intel Core i5 Dual-core ' '3.46GHz 2.5GT/s i5-670 ' 'CPU', 'price': None, 'published': True, 'sortorder': 1715, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 59, 220837)}, 48185: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 180.0, 'created': datetime.datetime(2011, 1, 28, 8, 42, 50, 38426), 'id': 48185, 'multiplier': None, 'name': 'Intel i5-2300 1155 ' 'Quad-core 2.8/3.1GHz 95w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1900, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 9, 333212)}, 48186: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 190.0, 'created': datetime.datetime(2011, 1, 28, 8, 43, 45, 461788), 'id': 48186, 'multiplier': None, 'name': 'Intel i5-2400 1155 ' 'Quad-core 3.1/3.4GHz 95w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1902, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 10, 430864)}, 48187: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 210.0, 'created': datetime.datetime(2011, 1, 28, 8, 44, 27, 140955), 'id': 48187, 'multiplier': None, 'name': 'Intel i5-2500 1155 ' 'Quad-core 3.3/3.7GHz ' '95wCPU', 'price': None, 'published': True, 'sortorder': 1904, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 11, 108688)}, 48229: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'NAS3\r\n' 'removed outdated refs ' 'JJW 11/15/15', 'cost': 180.0, 'created': datetime.datetime(2011, 3, 23, 13, 32, 59, 513329), 'id': 48229, 'multiplier': None, 'name': 'Intel Core i5 2.8GHz CPU', 'price': None, 'published': True, 'sortorder': 1805, 'source': '', 'updated': datetime.datetime(2015, 11, 15, 15, 28, 29, 906952)}, 48230: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'NAS3, PREMIUM, ' 'PREMIUM2, ZIMBRA\r\n' 'removed outdated refs ' 'JJW 11/15/15', 'cost': 195.0, 'created': datetime.datetime(2011, 3, 23, 13, 33, 31, 47297), 'id': 48230, 'multiplier': None, 'name': 'Intel Core i5 3.1GHz CPU', 'price': None, 'published': True, 'sortorder': 1807, 'source': '', 'updated': datetime.datetime(2015, 11, 15, 15, 28, 29, 981915)}, 48232: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'NAS3, PREMIUM, ' 'PREMIUM2, ZIMBRA\r\n' 'removed outdated refs ' 'JJW 11/15/15', 'cost': 220.0, 'created': datetime.datetime(2011, 3, 23, 13, 34, 20, 702388), 'id': 48232, 'multiplier': None, 'name': 'Intel Core i5 3.3GHz CPU', 'price': None, 'published': True, 'sortorder': 1809, 'source': '', 'updated': datetime.datetime(2015, 11, 15, 15, 28, 30, 7762)}, 50398: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'NAS3, PREMIUM, ' 'PREMIUM2, ZIMBRA\r\n' 'removed outdated refs ' 'JJW 11/15/15', 'cost': 190.0, 'created': datetime.datetime(2011, 11, 18, 8, 27, 19, 42415), 'id': 50398, 'multiplier': None, 'name': 'Intel Core i5 3.0GHz CPU', 'price': None, 'published': True, 'sortorder': 1806, 'source': '', 'updated': datetime.datetime(2015, 11, 15, 15, 28, 29, 956943)}, 50947: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 190.0, 'created': datetime.datetime(2011, 12, 9, 17, 17, 35, 833562), 'id': 50947, 'multiplier': None, 'name': 'Intel i5-2310 1155 ' 'Quad-core 2.9/3.2GHz 95w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1910, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 12, 972268)}, 50948: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 190.0, 'created': datetime.datetime(2011, 12, 9, 17, 18, 40, 31606), 'id': 50948, 'multiplier': None, 'name': 'Intel i5-2320 1155 ' 'Quad-core 3.0/3.3GHz 95w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1920, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 13, 834174)}, 50949: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 201.0, 'created': datetime.datetime(2011, 12, 9, 17, 22, 45, 999044), 'id': 50949, 'multiplier': None, 'name': 'Intel i5-2400S 1155 ' 'Quad-core 2.5/3.3GHz 65w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1902, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 10, 516840)}, 50950: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 220.0, 'created': datetime.datetime(2011, 12, 9, 17, 24, 16, 37972), 'id': 50950, 'multiplier': None, 'name': 'Intel i5-2500K 1155 ' 'Quad-core 3.3/3.7GHz 95w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1907, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 12, 346812)}, 50951: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'sandy bridge 1155', 'cost': 220.0, 'created': datetime.datetime(2011, 12, 9, 17, 27, 5, 776738), 'id': 50951, 'multiplier': None, 'name': 'Intel i5-2405S 1155 ' 'Quad-core 2.5/3.3GHz 65w ' 'CPU', 'price': None, 'published': True, 'sortorder': 1909, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 12, 908741)}, 56956: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'Robert LH quote ' '#903009:\r\n' 'Intel Core i3-3220 Ivy ' 'Bridge 3.3GHz LGA 1155 ' '55W\r\n' 'Dual-Core Processor ' 'Intel HD Graphics 2500 ' 'BX80637i33220\r\n' '$156', 'cost': 156.0, 'created': datetime.datetime(2015, 7, 15, 14, 43, 57, 275752), 'id': 56956, 'multiplier': None, 'name': 'Intel i3 3.3GHz Dual Core ' 'CPU', 'price': None, 'published': True, 'sortorder': 305, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 56, 690901)}, 57044: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'Copied fm i3 3.0GHz', 'cost': 135.0, 'created': datetime.datetime(2015, 9, 2, 21, 7, 39, 165295), 'id': 57044, 'multiplier': None, 'name': 'Intel Core i3 3.3 GHz CPU', 'price': None, 'published': True, 'sortorder': 1715, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 59, 157683)}, 57046: {'blurb': '', 'choicecategory_id': 43903, 'comment': 'Copied fm i3 3.0GHz', 'cost': 155.0, 'created': datetime.datetime(2015, 9, 2, 21, 10, 45, 608742), 'id': 57046, 'multiplier': None, 'name': 'Intel Core i3 3.6 GHz CPU', 'price': None, 'published': True, 'sortorder': 1717, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 51, 59, 570902)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 12, 18, 22, 19, 20, 156783), 'defaultchoice_id': 44033, 'id': 57721, 'name': 'Intel CPU', 'option_id': 57148, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 12, 18, 22, 21, 34, 226974)}), ('57237_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752130>, 'allowed_quantities': '', 'choices': {56604: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56603, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 30.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 179420), 'id': 56604, 'multiplier': 0, 'name': '2GB DDR3 Memory', 'price': 0.0, 'published': True, 'sortorder': 1302, 'source': '', 'updated': datetime.datetime(2018, 4, 20, 15, 16, 18, 800007)}, 56605: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56603, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 50.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 204620), 'id': 56605, 'multiplier': 0, 'name': '4GB DDR3 Memory', 'price': 0.0, 'published': True, 'sortorder': 1302, 'source': '', 'updated': datetime.datetime(2018, 4, 20, 15, 17, 0, 738268)}, 56606: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56603, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 90.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 220722), 'id': 56606, 'multiplier': 0, 'name': '8GB DDR3 Memory', 'price': 0.0, 'published': True, 'sortorder': 1302, 'source': '', 'updated': datetime.datetime(2018, 4, 20, 15, 17, 11, 779332)}, 56607: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56603, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 190.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 237362), 'id': 56607, 'multiplier': 0, 'name': '16GB DDR3 Memory', 'price': 0.0, 'published': True, 'sortorder': 1302, 'source': '', 'updated': datetime.datetime(2018, 4, 20, 15, 17, 27, 645005)}, 56609: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56608, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 35.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 259563), 'id': 56609, 'multiplier': 0, 'name': '4GB DDR4 Memory', 'price': 0.0, 'published': True, 'sortorder': 1303, 'source': '', 'updated': datetime.datetime(2020, 3, 19, 4, 33, 38, 700044)}, 56610: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56608, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 50.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 278917), 'id': 56610, 'multiplier': 0, 'name': '8GB DDR4 Memory', 'price': 0.0, 'published': True, 'sortorder': 1303, 'source': '', 'updated': datetime.datetime(2020, 3, 19, 4, 33, 38, 777199)}, 56611: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56608, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 90.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 295642), 'id': 56611, 'multiplier': 0, 'name': '16GB DDR4 Memory', 'price': 0.0, 'published': True, 'sortorder': 1303, 'source': '', 'updated': datetime.datetime(2020, 3, 19, 4, 33, 38, 801334)}, 56612: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56608, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 180.0, 'created': datetime.datetime(2015, 2, 17, 20, 49, 37, 312277), 'id': 56612, 'multiplier': 0, 'name': '32GB DDR4 Memory', 'price': 0.0, 'published': True, 'sortorder': 1303, 'source': '', 'updated': datetime.datetime(2020, 3, 19, 4, 33, 38, 858473)}, 56946: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56603, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity\r\n' "Note that I don't " 'think there are any ' '32G sticks of DDR3 ' '(DDR4, yes), so this ' 'is for "total RAM" ' 'configs', 'cost': 400.0, 'created': datetime.datetime(2015, 7, 15, 13, 37, 32, 160576), 'id': 56946, 'multiplier': 0, 'name': '32GB DDR3 Memory', 'price': 0.0, 'published': True, 'sortorder': 1302, 'source': '', 'updated': datetime.datetime(2018, 4, 20, 15, 17, 38, 244420)}, 59824: {'blurb': 'Motherboard & overall ' 'config determines speed ' 'options - if you have a ' 'requirement, indicate it ' 'in the Notes field', 'choicecategory_id': 56608, 'comment': 'speed depends on mobo, ' 'configuration, & total ' 'capacity', 'cost': 320.0, 'created': datetime.datetime(2020, 3, 19, 4, 28, 7, 907339), 'id': 59824, 'multiplier': 0, 'name': '64GB DDR4 Memory', 'price': 0.0, 'published': True, 'sortorder': 1303, 'source': '', 'updated': datetime.datetime(2020, 3, 19, 4, 33, 38, 833314)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 361285), 'defaultchoice_id': 56606, 'id': 57237, 'name': 'Memory DDR3 / DDR4', 'option_id': 56943, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 12, 18, 22, 18, 48, 464223)}), ('57232_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752ca0>, 'allowed_quantities': '', 'choices': {3: {'blurb': '', 'choicecategory_id': 43924, 'comment': None, 'cost': 40.0, 'created': datetime.datetime(2001, 1, 10, 16, 38, 22), 'id': 3, 'multiplier': None, 'name': '10GB 5400rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 995411, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 470637)}, 4: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2001, 1, 10, 16, 38, 54), 'id': 4, 'multiplier': None, 'name': '20GB 7200rpm IDE Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5522, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 679257)}, 5: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 10, 16, 39, 8), 'id': 5, 'multiplier': None, 'name': '30GB 7200rpm IDE Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5523, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 761862)}, 6: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 45.0, 'created': datetime.datetime(2001, 1, 10, 16, 39, 56), 'id': 6, 'multiplier': None, 'name': '40GB 7200rpm IDE Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5524, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 822519)}, 7: {'blurb': '', 'choicecategory_id': 43924, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 10, 16, 40, 8), 'id': 7, 'multiplier': None, 'name': '60GB 7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 995526, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 504199)}, 8: {'blurb': '', 'choicecategory_id': 43924, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 10, 16, 40, 16), 'id': 8, 'multiplier': None, 'name': '75GB 7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 995527, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 562425)}, 9: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 7.0, 'created': datetime.datetime(2001, 1, 10, 16, 40, 25), 'id': 9, 'multiplier': None, 'name': '3.5" 1.44 MB Floppy Drive', 'price': 0.0, 'published': True, 'sortorder': 501, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 6, 906465)}, 10: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 200.0, 'created': datetime.datetime(2001, 1, 10, 16, 41, 3), 'id': 10, 'multiplier': None, 'name': 'LS 120 Drive', 'price': 0.0, 'published': True, 'sortorder': 506, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 613726)}, 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)}, 1016: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 134.0, 'created': datetime.datetime(2001, 1, 29, 16, 38), 'id': 1016, 'multiplier': None, 'name': 'ZIP Drive 250MB', 'price': 0.0, 'published': True, 'sortorder': 504, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 248540)}, 4283: {'blurb': '', 'choicecategory_id': 43884, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4283, 'multiplier': None, 'name': 'Tape drive $TBD', 'price': 0.0, 'published': True, 'sortorder': 24, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 16, 187776)}, 5676: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 19.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 5676, 'multiplier': None, 'name': 'Slim 1.44MB Floppy Drive', 'price': None, 'published': True, 'sortorder': 502, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 98974)}, 6725: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6725, 'multiplier': None, 'name': '60GB 5400rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5516, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 507266)}, 6868: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 48.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6868, 'multiplier': None, 'name': '80GB 7200rpm IDE Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5528, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 875341)}, 9153: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 335.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9153, 'multiplier': None, 'name': '750GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5538, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 317631)}, 9904: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 75.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9904, 'multiplier': None, 'name': '80GB low noise Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5518, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 557319)}, 9905: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9905, 'multiplier': None, 'name': '20GB 5400rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5512, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 407277)}, 9906: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'Upd 2/21/15 JJW upd ' 'sata2', 'cost': 150.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9906, 'multiplier': None, 'name': '1TB 2.5in 5400rpm SATA ' 'Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5447, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 225105)}, 9907: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9907, 'multiplier': None, 'name': '40GB 5400rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5514, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 462486)}, 11077: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11077, 'multiplier': None, 'name': '120GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5530, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 964609)}, 15545: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 75.0, 'created': datetime.datetime(2002, 12, 12, 0, 0), 'id': 15545, 'multiplier': None, 'name': '200GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5533, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 106849)}, 16875: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2002, 12, 12, 0, 0), 'id': 16875, 'multiplier': None, 'name': '160GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5531, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 30105)}, 16876: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 235.0, 'created': datetime.datetime(2002, 12, 12, 0, 0), 'id': 16876, 'multiplier': None, 'name': '500GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5537, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 264274)}, 23758: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 80.0, 'created': datetime.datetime(2003, 7, 26, 0, 0), 'id': 23758, 'multiplier': None, 'name': '250GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5534, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 194996)}, 31479: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 95.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31479, 'multiplier': None, 'name': '300GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5535, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 236270)}, 32407: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 38.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32407, 'multiplier': None, 'name': '80 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5100, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 599803)}, 32411: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 66.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32411, 'multiplier': None, 'name': '250 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5104, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 666850)}, 32414: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 96.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32414, 'multiplier': None, 'name': '500 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5107, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 281561)}, 32415: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 120.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32415, 'multiplier': None, 'name': '750 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5109, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 449375)}, 35176: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'Shuttle PC22 Internal ' '22-in-1 Card Reader ' '6/07', 'cost': 25.0, 'created': datetime.datetime(2007, 6, 28, 0, 0), 'id': 35176, 'multiplier': None, 'name': 'Internal 25-in-1 Card ' 'Reader (MS,CF, SD/MMC/SM)', 'price': None, 'published': True, 'sortorder': 505, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 520219)}, 36230: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 150.0, 'created': datetime.datetime(2007, 10, 25, 0, 0), 'id': 36230, 'multiplier': None, 'name': '1 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 497839)}, 36425: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 8.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36425, 'multiplier': None, 'name': 'Internal 5-in-1 Card ' 'Reader ', 'price': None, 'published': True, 'sortorder': 505, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 391763)}, 36426: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36426, 'multiplier': None, 'name': 'Internal 7-in-1 Card ' 'Reader', 'price': None, 'published': True, 'sortorder': 505, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 454768)}, 36427: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 45.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36427, 'multiplier': None, 'name': 'IDE Flash Module 1GB', 'price': None, 'published': True, 'sortorder': 510, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 719649)}, 36428: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 80.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36428, 'multiplier': None, 'name': 'IDE Flash Module 2GB', 'price': None, 'published': True, 'sortorder': 511, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 805558)}, 36429: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 128.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36429, 'multiplier': None, 'name': 'IDE Flash Module 4GB', 'price': None, 'published': True, 'sortorder': 512, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 879617)}, 36430: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 265.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36430, 'multiplier': None, 'name': 'IDE Flash Module 8GB', 'price': None, 'published': True, 'sortorder': 513, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 7, 939335)}, 36431: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 25.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 36431, 'multiplier': None, 'name': 'Lian Li Thermal Monitor', 'price': None, 'published': True, 'sortorder': 520, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 8, 144507)}, 39315: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW\r\n' 'SATA II => SATA\r\n' 'removed R 245 W 60 ' 'MB/s\r\n' '\r\n' 'Patroit Torqx2 ', 'cost': 111.0, 'created': datetime.datetime(2008, 9, 16, 10, 29, 27, 437241), 'id': 39315, 'multiplier': None, 'name': '32 GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4903, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 540611)}, 39316: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2 \r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' 'Was: 64 GB SATA2 2.5" ' 'SSD R 270 W 230 MB/s', 'cost': 80.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 11, 844488), 'id': 39316, 'multiplier': None, 'name': '64GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4905, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 88988)}, 39317: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' '128 GB SATA2 2.5" SSD ' 'R 270 W 230 MB/s', 'cost': 100.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 37, 620352), 'id': 39317, 'multiplier': None, 'name': '128GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4906, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 259484)}, 39338: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 234.0, 'created': datetime.datetime(2008, 9, 18, 12, 58, 23, 890431), 'id': 39338, 'multiplier': None, 'name': '2.5 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5114, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 733164)}, 41970: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 216.0, 'created': datetime.datetime(2009, 4, 2, 13, 57, 43, 261962), 'id': 41970, 'multiplier': None, 'name': '2 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5113, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 569224)}, 42847: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 130.0, 'created': datetime.datetime(2009, 6, 9, 10, 35, 40, 117317), 'id': 42847, 'multiplier': None, 'name': '256GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4907, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 426817)}, 42848: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'SSDNow Vseries V+ ' 'Kingston\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 200.0, 'created': datetime.datetime(2009, 6, 9, 10, 36, 17, 486904), 'id': 42848, 'multiplier': None, 'name': '512GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4908, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 719442)}, 47365: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 252.0, 'created': datetime.datetime(2010, 10, 20, 11, 39, 54, 613216), 'id': 47365, 'multiplier': None, 'name': '3 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5115, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 675053)}, 58366: {'blurb': '', 'choicecategory_id': 43917, 'comment': 'Price is taken from ' 'google shopping, ' '~1933-2600', 'cost': 1980.0, 'created': datetime.datetime(2016, 4, 29, 21, 4, 28, 479508), 'id': 58366, 'multiplier': 0, 'name': '3.84TB Samsung SSD SATA ' 'Drive', 'price': None, 'published': True, 'sortorder': 4920, 'source': '', 'updated': datetime.datetime(2016, 4, 30, 14, 38, 49, 411054)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 343085), 'defaultchoice_id': 30, 'id': 57232, 'name': '3.5 inch Bay', 'option_id': 3, 'product_id': 57229, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 11, 9, 21, 35, 17, 343107)}), ('57242_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752640>, 'allowed_quantities': '', 'choices': {3: {'blurb': '', 'choicecategory_id': 43924, 'comment': None, 'cost': 40.0, 'created': datetime.datetime(2001, 1, 10, 16, 38, 22), 'id': 3, 'multiplier': None, 'name': '10GB 5400rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 995411, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 470637)}, 4: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2001, 1, 10, 16, 38, 54), 'id': 4, 'multiplier': None, 'name': '20GB 7200rpm IDE Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5522, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 679257)}, 5: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 10, 16, 39, 8), 'id': 5, 'multiplier': None, 'name': '30GB 7200rpm IDE Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5523, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 761862)}, 6: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 45.0, 'created': datetime.datetime(2001, 1, 10, 16, 39, 56), 'id': 6, 'multiplier': None, 'name': '40GB 7200rpm IDE Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5524, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 822519)}, 7: {'blurb': '', 'choicecategory_id': 43924, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 10, 16, 40, 8), 'id': 7, 'multiplier': None, 'name': '60GB 7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 995526, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 504199)}, 8: {'blurb': '', 'choicecategory_id': 43924, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 10, 16, 40, 16), 'id': 8, 'multiplier': None, 'name': '75GB 7200rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 995527, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 562425)}, 15: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'SDT11000/BM $451 3/07', 'cost': 541.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 15, 'multiplier': None, 'name': 'Tape Drive DDS-4 Sony ' 'Storage (2U chassis req)', 'price': 0.0, 'published': True, 'sortorder': 421, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 751285)}, 30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 4663: {'blurb': '', 'choicecategory_id': 43894, 'comment': None, 'cost': 27.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4663, 'multiplier': None, 'name': 'Slimline CD ROM', 'price': None, 'published': True, 'sortorder': 400, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 1, 182063)}, 5818: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 650.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 5818, 'multiplier': None, 'name': 'Tape Drive HP Storageworks ' 'DAT72 (2U chassis req)', 'price': None, 'published': True, 'sortorder': 423, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 999725)}, 6725: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6725, 'multiplier': None, 'name': '60GB 5400rpm Hard Drive', 'price': None, 'published': True, 'sortorder': 5516, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 507266)}, 6868: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 48.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 6868, 'multiplier': None, 'name': '80GB 7200rpm IDE Hard ' 'Drive', 'price': 0.0, 'published': True, 'sortorder': 5528, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 875341)}, 7344: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'AITi160 $1424 3/07', 'cost': 1514.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 7344, 'multiplier': None, 'name': 'Tape Drive AIT-3 Sony (2U ' 'chassis req)', 'price': None, 'published': True, 'sortorder': 420, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 576341)}, 7345: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 546.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 7345, 'multiplier': None, 'name': 'Tape Drive Quantum/Seagate ' 'DAT72 (2U chassis req)', 'price': None, 'published': True, 'sortorder': 422, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 870513)}, 9153: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 335.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9153, 'multiplier': None, 'name': '750GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5538, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 317631)}, 9904: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 75.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9904, 'multiplier': None, 'name': '80GB low noise Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5518, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 557319)}, 9905: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9905, 'multiplier': None, 'name': '20GB 5400rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5512, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 407277)}, 9906: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'Upd 2/21/15 JJW upd ' 'sata2', 'cost': 150.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9906, 'multiplier': None, 'name': '1TB 2.5in 5400rpm SATA ' 'Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5447, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 225105)}, 9907: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9907, 'multiplier': None, 'name': '40GB 5400rpm Hard Drive', 'price': 0.0, 'published': True, 'sortorder': 5514, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 462486)}, 10509: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 100.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 10509, 'multiplier': None, 'name': 'Slim CD / floppy combo', 'price': None, 'published': True, 'sortorder': 415, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 970939)}, 11077: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 60.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 11077, 'multiplier': None, 'name': '120GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5530, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 44, 964609)}, 13113: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 45.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13113, 'multiplier': None, 'name': 'Sony DVD +/- RW 16x', 'price': None, 'published': True, 'sortorder': 413, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 640585)}, 13114: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 30.0, 'created': datetime.datetime(2008, 7, 18, 12, 2, 3, 496404), 'id': 13114, 'multiplier': None, 'name': 'CDRW/DVD', 'price': None, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 639047)}, 15545: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 75.0, 'created': datetime.datetime(2002, 12, 12, 0, 0), 'id': 15545, 'multiplier': None, 'name': '200GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5533, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 106849)}, 16858: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 20.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 16858, 'multiplier': None, 'name': 'CD Reader Artec Super56 ' 'CDROM IDE 128KB', 'price': None, 'published': True, 'sortorder': 416, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 139608)}, 16875: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 65.0, 'created': datetime.datetime(2002, 12, 12, 0, 0), 'id': 16875, 'multiplier': None, 'name': '160GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5531, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 30105)}, 16876: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 235.0, 'created': datetime.datetime(2002, 12, 12, 0, 0), 'id': 16876, 'multiplier': None, 'name': '500GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5537, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 264274)}, 19663: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 28.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 19663, 'multiplier': None, 'name': 'DVDRW Dual Layer', 'price': None, 'published': True, 'sortorder': 412, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 194448)}, 27252: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 1200.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 27252, 'multiplier': None, 'name': '6 x 500GB SAS2 2.5in ' '7200rpm Drives', 'price': None, 'published': True, 'sortorder': 6308, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 54, 582942)}, 28749: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 125.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 28749, 'multiplier': None, 'name': '400GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5206, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 37, 586765)}, 29829: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 77.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 29829, 'multiplier': None, 'name': '320GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5205, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 37, 405992)}, 31479: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 95.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31479, 'multiplier': None, 'name': '300GB 7200rpm IDE Hard ' 'Drive', 'price': None, 'published': True, 'sortorder': 5535, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 45, 236270)}, 32072: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 55.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32072, 'multiplier': None, 'name': 'Plextor DVD +/- RW 16x', 'price': None, 'published': True, 'sortorder': 413, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 708960)}, 32414: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 96.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32414, 'multiplier': None, 'name': '500 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5107, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 281561)}, 32415: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 120.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32415, 'multiplier': None, 'name': '750 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5109, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 449375)}, 32796: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 34.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32796, 'multiplier': None, 'name': 'Pioneer DVD-R/DVD-RW/CDRW', 'price': None, 'published': True, 'sortorder': 413, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 527401)}, 32904: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32904, 'multiplier': None, 'name': 'Dual Layer DVD+R 8.5GB', 'price': None, 'published': True, 'sortorder': 410, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 2, 754666)}, 33019: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 140.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 33019, 'multiplier': None, 'name': '500GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5207, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 37, 710454)}, 33409: {'blurb': '', 'choicecategory_id': 43918, 'comment': None, 'cost': 250.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 33409, 'multiplier': None, 'name': '750GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5208, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 37, 763326)}, 34217: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 840.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 34217, 'multiplier': None, 'name': 'Tape Drive IBM DAT72 SCSI ' 'Interface (2U chassis)', 'price': None, 'published': True, 'sortorder': 424, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 5, 134152)}, 34218: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 894.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 34218, 'multiplier': None, 'name': 'Tape Drive DLT-V4 ' 'Quantum (2U chassis req)', 'price': None, 'published': True, 'sortorder': 425, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 5, 229768)}, 36230: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 150.0, 'created': datetime.datetime(2007, 10, 25, 0, 0), 'id': 36230, 'multiplier': None, 'name': '1 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 497839)}, 36540: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 10.0, 'created': datetime.datetime(2007, 12, 19, 0, 0), 'id': 36540, 'multiplier': None, 'name': 'Thermaltake Ibox storage ' 'compartment', 'price': None, 'published': True, 'sortorder': 470, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 6, 482787)}, 36541: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2007, 12, 19, 0, 0), 'id': 36541, 'multiplier': None, 'name': 'Thermaltake X-Ray ' 'Beverage holder / Cig ' 'lighter', 'price': None, 'published': True, 'sortorder': 471, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 6, 533319)}, 37016: {'blurb': 'Such as LG Super Multi ' 'Blue - BDXL, SATA, 48xCD ' '/ 16xDVD / 10xBD / ' '16xDVDR / 8xDVDR DL / ' '14xBDR / 12xBDR DL 24xCD ' '/ 6xDVD-RW / 8xDVD+RW / ' '5x DVDRAM / 2xBD-RE / ' '2xBD-RE XL\r\n', 'choicecategory_id': 43895, 'comment': 'LG WH14NS40', 'cost': 55.0, 'created': datetime.datetime(2008, 1, 21, 0, 0), 'id': 37016, 'multiplier': None, 'name': 'Blu-Ray Multi-Drive, ' '10xBD, 48xCD, 16xDVD', 'price': None, 'published': True, 'sortorder': 408, 'source': '', 'updated': datetime.datetime(2015, 12, 22, 21, 49, 7, 500432)}, 37079: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'Comes with TABLET', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 37079, 'multiplier': None, 'name': 'DVD+/-RW for ' 'eRacks/TABLET', 'price': None, 'published': True, 'sortorder': 404, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 1, 623185)}, 37201: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 999.0, 'created': datetime.datetime(2008, 3, 1, 0, 0), 'id': 37201, 'multiplier': None, 'name': 'Tape Drive HP LTO2 ' '200/400GB ', 'price': None, 'published': True, 'sortorder': 426, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 5, 472801)}, 37202: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 1670.0, 'created': datetime.datetime(2008, 3, 1, 0, 0), 'id': 37202, 'multiplier': None, 'name': 'Tape Drive HP LTO3 ' '400/800GB ', 'price': None, 'published': True, 'sortorder': 427, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 5, 541175)}, 37211: {'blurb': 'Such as LG Super Multi ' 'Blue - M-Disc, BDXL, ' 'BD-RE, SATA, 48xCD / ' '16xDVD / 12xBD / 16xDVDR ' '/ 8xDVDR-DL / 16xBDR / ' '12x BDR DL / 6xBDR TL / ' '6xBDR QL / 24xCDR / ' '6xDVD-RW / 12xDVD+RW / ' '5xDVD-RAM / 12xBD-RE / ' '8xBD-RE DL\r\n', 'choicecategory_id': 43895, 'comment': 'in NAS6 \r\n' '\r\n' 'LG BH16NS40', 'cost': 110.0, 'created': datetime.datetime(2008, 3, 1, 0, 0), 'id': 37211, 'multiplier': None, 'name': 'Blu-ray Multi-Drive, ' 'M-Disc, 16xBDR, 48xCD, ' '16xDVD', 'price': None, 'published': True, 'sortorder': 409, 'source': '', 'updated': datetime.datetime(2015, 12, 22, 21, 49, 7, 536068)}, 39315: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW\r\n' 'SATA II => SATA\r\n' 'removed R 245 W 60 ' 'MB/s\r\n' '\r\n' 'Patroit Torqx2 ', 'cost': 111.0, 'created': datetime.datetime(2008, 9, 16, 10, 29, 27, 437241), 'id': 39315, 'multiplier': None, 'name': '32 GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4903, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 540611)}, 39316: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2 \r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' 'Was: 64 GB SATA2 2.5" ' 'SSD R 270 W 230 MB/s', 'cost': 80.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 11, 844488), 'id': 39316, 'multiplier': None, 'name': '64GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4905, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 88988)}, 39317: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' '128 GB SATA2 2.5" SSD ' 'R 270 W 230 MB/s', 'cost': 100.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 37, 620352), 'id': 39317, 'multiplier': None, 'name': '128GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4906, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 259484)}, 39338: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 234.0, 'created': datetime.datetime(2008, 9, 18, 12, 58, 23, 890431), 'id': 39338, 'multiplier': None, 'name': '2.5 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5114, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 733164)}, 40371: {'blurb': '', 'choicecategory_id': 43886, 'comment': 'for MINI chassis Aopen ' 'mp965_dr tot price 375', 'cost': 0.0, 'created': datetime.datetime(2008, 11, 3, 13, 48, 36, 579522), 'id': 40371, 'multiplier': None, 'name': 'MINI Slot-in Slim Super ' 'Multi ODD x 1 (DVD-RW)', 'price': None, 'published': True, 'sortorder': 50, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 16, 395328)}, 40946: {'blurb': '', 'choicecategory_id': 43884, 'comment': None, 'cost': 30.0, 'created': datetime.datetime(2008, 11, 26, 11, 3, 49, 924720), 'id': 40946, 'multiplier': None, 'name': 'Zalman ZM-MFC1 fan ' 'controller 4 speed & 2 ' 'toggle', 'price': None, 'published': True, 'sortorder': 20, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 15, 952985)}, 40947: {'blurb': '', 'choicecategory_id': 43884, 'comment': None, 'cost': 55.0, 'created': datetime.datetime(2008, 11, 26, 11, 6, 7, 517207), 'id': 40947, 'multiplier': None, 'name': 'Zalman ZM-MFC2 fan ' 'controller power & temp ' 'monitor', 'price': None, 'published': True, 'sortorder': 20, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 16, 2884)}, 41970: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 216.0, 'created': datetime.datetime(2009, 4, 2, 13, 57, 43, 261962), 'id': 41970, 'multiplier': None, 'name': '2 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5113, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 569224)}, 42847: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 130.0, 'created': datetime.datetime(2009, 6, 9, 10, 35, 40, 117317), 'id': 42847, 'multiplier': None, 'name': '256GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4907, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 426817)}, 42848: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'SSDNow Vseries V+ ' 'Kingston\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 200.0, 'created': datetime.datetime(2009, 6, 9, 10, 36, 17, 486904), 'id': 42848, 'multiplier': None, 'name': '512GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4908, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 719442)}, 43641: {'blurb': 'Such as LG Super Multi ' 'Blue - M-Disc, BDXL, ' 'BD-RE, SATA, 48xCD / ' '16xDVD / 12xBD / 16xDVDR ' '/ 8xDVDR-DL / 16xBDR / ' '12x BDR DL / 6xBDR TL / ' '6xBDR QL / 24xCDR / ' '6xDVD-RW / 12xDVD+RW / ' '5xDVD-RAM / 12xBD-RE / ' '8xBD-RE DL\r\n', 'choicecategory_id': 43895, 'comment': 'LG BH16NS40', 'cost': 110.0, 'created': datetime.datetime(2009, 7, 11, 18, 26, 13, 166160), 'id': 43641, 'multiplier': None, 'name': 'Blu-Ray Multi-Drive, ' 'M-Disc, 16xBDR, 48xCD, ' '16xDVD', 'price': None, 'published': True, 'sortorder': 410, 'source': '', 'updated': datetime.datetime(2015, 12, 22, 21, 49, 7, 556195)}, 47365: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 252.0, 'created': datetime.datetime(2010, 10, 20, 11, 39, 54, 613216), 'id': 47365, 'multiplier': None, 'name': '3 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5115, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 675053)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 378906), 'defaultchoice_id': 37016, 'id': 57242, 'name': '5.25 inch Bay', 'option_id': 4, 'product_id': 57229, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 12, 21, 21, 23, 49, 624564)}), ('57739_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752c40>, 'allowed_quantities': '', 'choices': {15: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'SDT11000/BM $451 3/07', 'cost': 541.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 15, 'multiplier': None, 'name': 'Tape Drive DDS-4 Sony ' 'Storage (2U chassis req)', 'price': 0.0, 'published': True, 'sortorder': 421, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 751285)}, 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)}, 5818: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 650.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 5818, 'multiplier': None, 'name': 'Tape Drive HP Storageworks ' 'DAT72 (2U chassis req)', 'price': None, 'published': True, 'sortorder': 423, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 999725)}, 7344: {'blurb': '', 'choicecategory_id': 43895, 'comment': 'AITi160 $1424 3/07', 'cost': 1514.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 7344, 'multiplier': None, 'name': 'Tape Drive AIT-3 Sony (2U ' 'chassis req)', 'price': None, 'published': True, 'sortorder': 420, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 576341)}, 7345: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 546.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 7345, 'multiplier': None, 'name': 'Tape Drive Quantum/Seagate ' 'DAT72 (2U chassis req)', 'price': None, 'published': True, 'sortorder': 422, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 870513)}, 13113: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 45.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13113, 'multiplier': None, 'name': 'Sony DVD +/- RW 16x', 'price': None, 'published': True, 'sortorder': 413, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 640585)}, 13114: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 30.0, 'created': datetime.datetime(2008, 7, 18, 12, 2, 3, 496404), 'id': 13114, 'multiplier': None, 'name': 'CDRW/DVD', 'price': None, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 7, 639047)}, 16859: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 50.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 16859, 'multiplier': None, 'name': 'CD Writer Artec 52x24x52 ' 'IDE CD-RW 2MB Blk', 'price': None, 'published': True, 'sortorder': 416, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 4, 209513)}, 19663: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 28.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 19663, 'multiplier': None, 'name': 'DVDRW Dual Layer', 'price': None, 'published': True, 'sortorder': 412, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 3, 194448)}, 32411: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 66.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32411, 'multiplier': None, 'name': '250 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5104, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 666850)}, 32414: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 96.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32414, 'multiplier': None, 'name': '500 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5107, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 281561)}, 32415: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 120.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32415, 'multiplier': None, 'name': '750 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5109, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 449375)}, 34217: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 840.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 34217, 'multiplier': None, 'name': 'Tape Drive IBM DAT72 SCSI ' 'Interface (2U chassis)', 'price': None, 'published': True, 'sortorder': 424, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 5, 134152)}, 34218: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 894.0, 'created': datetime.datetime(2007, 3, 22, 1, 0), 'id': 34218, 'multiplier': None, 'name': 'Tape Drive DLT-V4 ' 'Quantum (2U chassis req)', 'price': None, 'published': True, 'sortorder': 425, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 5, 229768)}, 36230: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 150.0, 'created': datetime.datetime(2007, 10, 25, 0, 0), 'id': 36230, 'multiplier': None, 'name': '1 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 497839)}, 36540: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 10.0, 'created': datetime.datetime(2007, 12, 19, 0, 0), 'id': 36540, 'multiplier': None, 'name': 'Thermaltake Ibox storage ' 'compartment', 'price': None, 'published': True, 'sortorder': 470, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 6, 482787)}, 36541: {'blurb': '', 'choicecategory_id': 43895, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2007, 12, 19, 0, 0), 'id': 36541, 'multiplier': None, 'name': 'Thermaltake X-Ray ' 'Beverage holder / Cig ' 'lighter', 'price': None, 'published': True, 'sortorder': 471, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 6, 533319)}, 37016: {'blurb': 'Such as LG Super Multi ' 'Blue - BDXL, SATA, 48xCD ' '/ 16xDVD / 10xBD / ' '16xDVDR / 8xDVDR DL / ' '14xBDR / 12xBDR DL 24xCD ' '/ 6xDVD-RW / 8xDVD+RW / ' '5x DVDRAM / 2xBD-RE / ' '2xBD-RE XL\r\n', 'choicecategory_id': 43895, 'comment': 'LG WH14NS40', 'cost': 55.0, 'created': datetime.datetime(2008, 1, 21, 0, 0), 'id': 37016, 'multiplier': None, 'name': 'Blu-Ray Multi-Drive, ' '10xBD, 48xCD, 16xDVD', 'price': None, 'published': True, 'sortorder': 408, 'source': '', 'updated': datetime.datetime(2015, 12, 22, 21, 49, 7, 500432)}, 39315: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW\r\n' 'SATA II => SATA\r\n' 'removed R 245 W 60 ' 'MB/s\r\n' '\r\n' 'Patroit Torqx2 ', 'cost': 111.0, 'created': datetime.datetime(2008, 9, 16, 10, 29, 27, 437241), 'id': 39315, 'multiplier': None, 'name': '32 GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4903, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 540611)}, 39316: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2 \r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' 'Was: 64 GB SATA2 2.5" ' 'SSD R 270 W 230 MB/s', 'cost': 80.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 11, 844488), 'id': 39316, 'multiplier': None, 'name': '64GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4905, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 88988)}, 39317: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' '128 GB SATA2 2.5" SSD ' 'R 270 W 230 MB/s', 'cost': 100.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 37, 620352), 'id': 39317, 'multiplier': None, 'name': '128GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4906, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 259484)}, 39338: {'blurb': '', 'choicecategory_id': 43918, 'comment': 'SATA II => SATA JJW ' '10/27/15', 'cost': 234.0, 'created': datetime.datetime(2008, 9, 18, 12, 58, 23, 890431), 'id': 39338, 'multiplier': None, 'name': '2.5 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5114, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 53, 24, 733164)}, 40946: {'blurb': '', 'choicecategory_id': 43884, 'comment': None, 'cost': 30.0, 'created': datetime.datetime(2008, 11, 26, 11, 3, 49, 924720), 'id': 40946, 'multiplier': None, 'name': 'Zalman ZM-MFC1 fan ' 'controller 4 speed & 2 ' 'toggle', 'price': None, 'published': True, 'sortorder': 20, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 15, 952985)}, 40947: {'blurb': '', 'choicecategory_id': 43884, 'comment': None, 'cost': 55.0, 'created': datetime.datetime(2008, 11, 26, 11, 6, 7, 517207), 'id': 40947, 'multiplier': None, 'name': 'Zalman ZM-MFC2 fan ' 'controller power & temp ' 'monitor', 'price': None, 'published': True, 'sortorder': 20, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 16, 2884)}, 41970: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 216.0, 'created': datetime.datetime(2009, 4, 2, 13, 57, 43, 261962), 'id': 41970, 'multiplier': None, 'name': '2 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5113, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 569224)}, 42847: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 130.0, 'created': datetime.datetime(2009, 6, 9, 10, 35, 40, 117317), 'id': 42847, 'multiplier': None, 'name': '256GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4907, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 426817)}, 42848: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'SSDNow Vseries V+ ' 'Kingston\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 200.0, 'created': datetime.datetime(2009, 6, 9, 10, 36, 17, 486904), 'id': 42848, 'multiplier': None, 'name': '512GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4908, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 719442)}, 43641: {'blurb': 'Such as LG Super Multi ' 'Blue - M-Disc, BDXL, ' 'BD-RE, SATA, 48xCD / ' '16xDVD / 12xBD / 16xDVDR ' '/ 8xDVDR-DL / 16xBDR / ' '12x BDR DL / 6xBDR TL / ' '6xBDR QL / 24xCDR / ' '6xDVD-RW / 12xDVD+RW / ' '5xDVD-RAM / 12xBD-RE / ' '8xBD-RE DL\r\n', 'choicecategory_id': 43895, 'comment': 'LG BH16NS40', 'cost': 110.0, 'created': datetime.datetime(2009, 7, 11, 18, 26, 13, 166160), 'id': 43641, 'multiplier': None, 'name': 'Blu-Ray Multi-Drive, ' 'M-Disc, 16xBDR, 48xCD, ' '16xDVD', 'price': None, 'published': True, 'sortorder': 410, 'source': '', 'updated': datetime.datetime(2015, 12, 22, 21, 49, 7, 556195)}, 47365: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 252.0, 'created': datetime.datetime(2010, 10, 20, 11, 39, 54, 613216), 'id': 47365, 'multiplier': None, 'name': '3 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5115, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 675053)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 12, 21, 21, 17, 32, 730437), 'defaultchoice_id': 30, 'id': 57739, 'name': '5.25 inch Bay 2', 'option_id': 9301, 'product_id': 57229, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 12, 21, 21, 17, 32, 730460)}), ('57726_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752c10>, 'allowed_quantities': '0,1,2,4,6,8,12', 'choices': {46371: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW:\r\n' '240=>85, Samsung 850 ' 'Evo 250 ggs\r\n' 'name change, ' 'generic\r\n' '\r\n' 'https://www.google.com/search?q=SSD&oq=SSD&aqs=chrome..69i57j0j69i65l3j69i60.1407j0j7&sourceid=chrome&es_sm=122&ie=UTF-8#q=SSD&tbm=shop\r\n' '\r\n' 'Crucial', 'cost': 85.0, 'created': datetime.datetime(2010, 4, 3, 16, 40, 17, 720075), 'id': 46371, 'multiplier': None, 'name': '128 GB SATA SSD', 'price': None, 'published': True, 'sortorder': 4912, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 40, 15, 407760)}, 46372: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW:\r\n' '438=>135, Samsung 850 ' 'Pro 256 ggs\r\n' 'name change, ' 'generic\r\n' '\r\n' 'https://www.google.com/search?q=SSD&oq=SSD&aqs=chrome..69i57j0j69i65l3j69i60.1407j0j7&sourceid=chrome&es_sm=122&ie=UTF-8#q=SSD&tbm=shop\r\n' '\r\n' 'Crucial', 'cost': 135.0, 'created': datetime.datetime(2010, 4, 3, 16, 40, 47, 113845), 'id': 46372, 'multiplier': None, 'name': '256 GB SATA SSD', 'price': None, 'published': True, 'sortorder': 4913, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 40, 15, 425574)}, 48182: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW:\r\n' '130=>59, Sandisk 128 ' 'ggs\r\n' 'name change, ' 'generic\r\n' '\r\n' 'https://www.google.com/search?q=SSD&oq=SSD&aqs=chrome..69i57j0j69i65l3j69i60.1407j0j7&sourceid=chrome&es_sm=122&ie=UTF-8#q=SSD&tbm=shop\r\n' 'Crucial', 'cost': 59.0, 'created': datetime.datetime(2011, 1, 28, 8, 34, 3, 977208), 'id': 48182, 'multiplier': None, 'name': '64 GB SATA SSD', 'price': None, 'published': True, 'sortorder': 4910, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 40, 15, 342068)}, 48784: {'blurb': '', 'choicecategory_id': 43917, 'comment': '10/27/15 JJW:\r\n' '887=>220, Samsung 850 ' 'Pro / evo ggs\r\n' 'name change, ' 'generic\r\n' '\r\n' 'Crucial', 'cost': 220.0, 'created': datetime.datetime(2011, 5, 26, 13, 8, 43, 492936), 'id': 48784, 'multiplier': None, 'name': '512 GB SATA SSD', 'price': None, 'published': True, 'sortorder': 4914, 'source': '', 'updated': datetime.datetime(2015, 10, 27, 13, 40, 15, 442148)}, 56646: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56645, 'comment': '$69.99\r\n' 'from 50+ stores\r\n' 'WD Red 1 TB Internal ' 'hard drive Serial ' 'ATA-600 2.5 ' 'WD10JFCX\r\n' "WD's exclusive NASware " 'technology, built into ' 'every WD Red hard ' 'drive, \r\n' 'improves NAS storage ' 'performance by ' 'reducing common hard ' 'drive concerns \r\n' 'in ...\r\n' '30 product reviews', 'cost': 69.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 53, 728222), 'id': 56646, 'multiplier': 0, 'name': 'WD Red 1TB 2.5" internal ' 'hard drive', 'price': 0.0, 'published': True, 'sortorder': 5000, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 31, 8, 485329)}, 56663: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56662, 'comment': '$129.99\r\n' 'from 50+ stores\r\n' 'WD Green 2 TB Internal ' 'hard drive Serial ' 'ATA-600 2.5 ' 'WD20NPVX\r\n' 'WD Green hard drives ' 'are designed for use ' 'in systems that ' 'require cool \r\n' 'and quiet operation, ' 'as secondary drives in ' 'PCs, for external ' 'enclosures \r\n' '...\r\n' '9 product reviews', 'cost': 129.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 53129), 'id': 56663, 'multiplier': 0, 'name': 'WD Green 2TB 2.5" ' 'internal hard drive', 'price': 0.0, 'published': True, 'sortorder': 5020, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 31, 20, 988613)}, 56680: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56679, 'comment': '$54.99\r\n' 'from 50+ stores\r\n' 'WD Black 500 GB ' 'Internal hard drive ' 'Serial ATA-600 2.5 ' '7200 rpm ...\r\n' 'Sophisticated ' 'performance enhancing ' 'features deliver the ' 'speed you need for \r\n' 'demanding applications ' 'like photo and video ' 'editing and Internet ' '...\r\n' '70 product reviews', 'cost': 54.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 336823), 'id': 56680, 'multiplier': 0, 'name': 'WD Black 500GB 2.5" ' '7200rpm internal hard ' 'drive', 'price': 0.0, 'published': True, 'sortorder': 5030, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 31, 56, 763410)}, 56681: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56679, 'comment': '$61.99\r\n' 'from 50+ stores\r\n' 'WD Black 750 GB ' 'Internal hard drive ' 'Serial ATA-600 2.5 ' '7200 rpm ...\r\n' 'Sophisticated ' 'performance enhancing ' 'features deliver the ' 'speed you need for \r\n' 'demanding applications ' 'like photo and video ' 'editing and Internet ' '...\r\n' '53 product reviews', 'cost': 61.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 356246), 'id': 56681, 'multiplier': 0, 'name': 'WD Black 750GB 2.5" ' '7200rpm internal hard ' 'drive', 'price': 0.0, 'published': True, 'sortorder': 5030, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 32, 12, 43743)}, 56688: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56684, 'comment': '$65.99\r\n' 'from 100+ stores\r\n' 'WD Blue 1 TB Internal ' 'hard drive Serial ' 'ATA-600 2.5 5400 rpm ' 'WD10JPVX\r\n' 'WD Blue hard drives ' 'deliver solid ' 'performance and ' 'reliability while \r\n' 'providing you with all ' 'the space you need to ' 'hold an enormous ' 'amount of \r\n' 'photos ...\r\n' '29 product reviews', 'cost': 65.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 481401), 'id': 56688, 'multiplier': 0, 'name': 'WD Blue 1TB 2.5" 5400rpm ' 'internal hard drive', 'price': 0.0, 'published': True, 'sortorder': 5040, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 33, 17, 13949)}, 56689: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56684, 'comment': '$44.99\r\n' 'from 100+ stores\r\n' 'WD Blue 500 GB ' 'Internal hard drive ' 'Serial ATA-600 2.5 ' '5400 rpm ...\r\n' 'WD Blue hard drives ' 'deliver solid ' 'performance and ' 'reliability while \r\n' 'providing you with all ' 'the space you need to ' 'hold an enormous ' 'amount of \r\n' 'photos ...\r\n' '31 product reviews', 'cost': 44.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 497934), 'id': 56689, 'multiplier': 0, 'name': 'WD Blue 500GB 2.5" ' '5400rpm internal hard ' 'drive', 'price': 0.0, 'published': True, 'sortorder': 5040, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 32, 28, 822719)}, 56691: {'blurb': 'Serial ATA-600', 'choicecategory_id': 56684, 'comment': '$49.99\r\n' 'from 50+ stores\r\n' 'WD Blue 750 GB ' 'Internal hard drive ' 'Serial ATA-600 2.5 ' '5400 rpm ...\r\n' 'WD Blue drives are ' 'designed and ' 'manufactured with the ' 'proven technology \r\n' "found in WD's original " 'award-winning desktop ' 'and mobile hard ' 'drives. \r\n' 'Built ...\r\n' '21 product reviews', 'cost': 49.99, 'created': datetime.datetime(2015, 2, 18, 15, 0, 54, 531496), 'id': 56691, 'multiplier': 0, 'name': 'WD Blue 750GB 2.5" ' '5400rpm internal hard ' 'drive', 'price': 0.0, 'published': True, 'sortorder': 5040, 'source': '', 'updated': datetime.datetime(2018, 3, 28, 15, 33, 3, 477492)}, 57723: {'blurb': '', 'choicecategory_id': 43917, 'comment': '12/18/15 JJW\r\n' '\r\n' '850 & 550 pro - \r\n' '850: 5yr warraty\r\n' 'Pro: 10yr\r\n', 'cost': 380.0, 'created': datetime.datetime(2015, 12, 18, 22, 54, 33, 725049), 'id': 57723, 'multiplier': 0, 'name': '1TB Samsung 850 SSD', 'price': None, 'published': True, 'sortorder': 4915, 'source': 'Lots', 'updated': datetime.datetime(2015, 12, 18, 22, 57, 58, 13052)}, 57724: {'blurb': '', 'choicecategory_id': 43917, 'comment': '12/18/15 JJW\r\n' '\r\n' '850 & 550 pro -\r\n' '850: 5yr warraty\r\n' 'Pro: 10yr\r\n', 'cost': 730.0, 'created': datetime.datetime(2015, 12, 18, 22, 56, 25, 749152), 'id': 57724, 'multiplier': 0, 'name': '2TB Samsung 850 SSD', 'price': None, 'published': True, 'sortorder': 4916, 'source': 'Lots', 'updated': datetime.datetime(2015, 12, 18, 22, 57, 58, 66925)}, 58366: {'blurb': '', 'choicecategory_id': 43917, 'comment': 'Price is taken from ' 'google shopping, ' '~1933-2600', 'cost': 1980.0, 'created': datetime.datetime(2016, 4, 29, 21, 4, 28, 479508), 'id': 58366, 'multiplier': 0, 'name': '3.84TB Samsung SSD SATA ' 'Drive', 'price': None, 'published': True, 'sortorder': 4920, 'source': '', 'updated': datetime.datetime(2016, 4, 30, 14, 38, 49, 411054)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 12, 19, 22, 31, 18, 292545), 'defaultchoice_id': 46371, 'id': 57726, 'name': '2.5" SSD Array (Optional, uses 5.25" bays)', 'option_id': 57722, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 12, 20, 20, 58, 3, 624377)}), ('57230_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752760>, 'allowed_quantities': '1,2,3,4', 'choices': {32414: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 96.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32414, 'multiplier': None, 'name': '500 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5107, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 281561)}, 32415: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 120.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32415, 'multiplier': None, 'name': '750 GB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5109, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 449375)}, 36230: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 150.0, 'created': datetime.datetime(2007, 10, 25, 0, 0), 'id': 36230, 'multiplier': None, 'name': '1 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5110, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 497839)}, 39316: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2 \r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' 'Was: 64 GB SATA2 2.5" ' 'SSD R 270 W 230 MB/s', 'cost': 80.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 11, 844488), 'id': 39316, 'multiplier': None, 'name': '64GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4905, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 88988)}, 39317: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd ' 'sata2:\r\n' '128 GB SATA2 2.5" SSD ' 'R 270 W 230 MB/s', 'cost': 100.0, 'created': datetime.datetime(2008, 9, 16, 10, 30, 37, 620352), 'id': 39317, 'multiplier': None, 'name': '128GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4906, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 259484)}, 41970: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 216.0, 'created': datetime.datetime(2009, 4, 2, 13, 57, 43, 261962), 'id': 41970, 'multiplier': None, 'name': '2 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5113, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 569224)}, 42847: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'Patroit Torqx2\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 130.0, 'created': datetime.datetime(2009, 6, 9, 10, 35, 40, 117317), 'id': 42847, 'multiplier': None, 'name': '256GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4907, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 426817)}, 42848: {'blurb': 'Samsung Evo, SanDisk, ' 'Sandisk Extreme, or ' 'equivalent', 'choicecategory_id': 43917, 'comment': 'SSDNow Vseries V+ ' 'Kingston\r\n' '\r\n' 'Upd 2/21/15 JJW, ' 'genericize, upd sata2', 'cost': 200.0, 'created': datetime.datetime(2009, 6, 9, 10, 36, 17, 486904), 'id': 42848, 'multiplier': None, 'name': '512GB SATA 2.5" SSD', 'price': None, 'published': True, 'sortorder': 4908, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 29, 719442)}, 47365: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 252.0, 'created': datetime.datetime(2010, 10, 20, 11, 39, 54, 613216), 'id': 47365, 'multiplier': None, 'name': '3 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5115, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 675053)}, 48240: {'blurb': '', 'choicecategory_id': 43918, 'comment': '', 'cost': 180.0, 'created': datetime.datetime(2011, 3, 23, 14, 30, 25, 716316), 'id': 48240, 'multiplier': None, 'name': '1.5 TB SATA Hard Drive', 'price': None, 'published': True, 'sortorder': 5111, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 52, 36, 528051)}, 57723: {'blurb': '', 'choicecategory_id': 43917, 'comment': '12/18/15 JJW\r\n' '\r\n' '850 & 550 pro - \r\n' '850: 5yr warraty\r\n' 'Pro: 10yr\r\n', 'cost': 380.0, 'created': datetime.datetime(2015, 12, 18, 22, 54, 33, 725049), 'id': 57723, 'multiplier': 0, 'name': '1TB Samsung 850 SSD', 'price': None, 'published': True, 'sortorder': 4915, 'source': 'Lots', 'updated': datetime.datetime(2015, 12, 18, 22, 57, 58, 13052)}, 57724: {'blurb': '', 'choicecategory_id': 43917, 'comment': '12/18/15 JJW\r\n' '\r\n' '850 & 550 pro -\r\n' '850: 5yr warraty\r\n' 'Pro: 10yr\r\n', 'cost': 730.0, 'created': datetime.datetime(2015, 12, 18, 22, 56, 25, 749152), 'id': 57724, 'multiplier': 0, 'name': '2TB Samsung 850 SSD', 'price': None, 'published': True, 'sortorder': 4916, 'source': 'Lots', 'updated': datetime.datetime(2015, 12, 18, 22, 57, 58, 66925)}, 58366: {'blurb': '', 'choicecategory_id': 43917, 'comment': 'Price is taken from ' 'google shopping, ' '~1933-2600', 'cost': 1980.0, 'created': datetime.datetime(2016, 4, 29, 21, 4, 28, 479508), 'id': 58366, 'multiplier': 0, 'name': '3.84TB Samsung SSD SATA ' 'Drive', 'price': None, 'published': True, 'sortorder': 4920, 'source': '', 'updated': datetime.datetime(2016, 4, 30, 14, 38, 49, 411054)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 329468), 'defaultchoice_id': 42847, 'id': 57230, 'name': 'Internal drive bay', 'option_id': 32416, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 12, 20, 20, 39, 51, 369479)}), ('57234_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752af0>, '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)}, 31516: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 135.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31516, 'multiplier': None, 'name': 'Intel Dual Port Gigabit ' 'Ethernet card', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 297102)}, 57591: {'blurb': '2x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 15, 5, 13, 205604), 'id': 57591, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 7, 45, 32413)}, 57592: {'blurb': '4x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 350.0, 'created': datetime.datetime(2015, 11, 27, 15, 8, 28, 961870), 'id': 57592, 'multiplier': 0, 'name': '4x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 630, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 8, 28, 961892)}, 57596: {'blurb': '2x 10GbE Network Port, ' 'SFP+, typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 16, 0, 4, 199684), 'id': 57596, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'SFP+', 'price': None, 'published': True, 'sortorder': 625, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 16, 0, 4, 199706)}, 59627: {'blurb': '2x 25GbE SFP28 ports via ' 'AOC-URN4-M2TS (Mellanox ' 'ConnectX-4 Lx EN).', 'choicecategory_id': 43896, 'comment': '30 DEC 2018,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2018, 12, 31, 11, 32, 25, 537110), 'id': 59627, 'multiplier': 0, 'name': '25GbE SFP28 Network port', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2018, 12, 31, 11, 48, 36, 475083)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 350597), 'defaultchoice_id': 30, 'id': 57234, 'name': 'PCI', 'option_id': 6, 'product_id': 57229, 'published': True, 'qty': 4, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 12, 19, 22, 32, 24, 173193)}), ('57234_2', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752af0>, '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)}, 31516: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 135.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31516, 'multiplier': None, 'name': 'Intel Dual Port Gigabit ' 'Ethernet card', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 297102)}, 57591: {'blurb': '2x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 15, 5, 13, 205604), 'id': 57591, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 7, 45, 32413)}, 57592: {'blurb': '4x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 350.0, 'created': datetime.datetime(2015, 11, 27, 15, 8, 28, 961870), 'id': 57592, 'multiplier': 0, 'name': '4x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 630, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 8, 28, 961892)}, 57596: {'blurb': '2x 10GbE Network Port, ' 'SFP+, typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 16, 0, 4, 199684), 'id': 57596, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'SFP+', 'price': None, 'published': True, 'sortorder': 625, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 16, 0, 4, 199706)}, 59627: {'blurb': '2x 25GbE SFP28 ports via ' 'AOC-URN4-M2TS (Mellanox ' 'ConnectX-4 Lx EN).', 'choicecategory_id': 43896, 'comment': '30 DEC 2018,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2018, 12, 31, 11, 32, 25, 537110), 'id': 59627, 'multiplier': 0, 'name': '25GbE SFP28 Network port', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2018, 12, 31, 11, 48, 36, 475083)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 350597), 'defaultchoice_id': 30, 'id': 57234, 'name': 'PCI', 'option_id': 6, 'product_id': 57229, 'published': True, 'qty': 4, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 12, 19, 22, 32, 24, 173193)}), ('57234_3', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752af0>, '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)}, 31516: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 135.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31516, 'multiplier': None, 'name': 'Intel Dual Port Gigabit ' 'Ethernet card', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 297102)}, 57591: {'blurb': '2x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 15, 5, 13, 205604), 'id': 57591, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 7, 45, 32413)}, 57592: {'blurb': '4x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 350.0, 'created': datetime.datetime(2015, 11, 27, 15, 8, 28, 961870), 'id': 57592, 'multiplier': 0, 'name': '4x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 630, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 8, 28, 961892)}, 57596: {'blurb': '2x 10GbE Network Port, ' 'SFP+, typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 16, 0, 4, 199684), 'id': 57596, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'SFP+', 'price': None, 'published': True, 'sortorder': 625, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 16, 0, 4, 199706)}, 59627: {'blurb': '2x 25GbE SFP28 ports via ' 'AOC-URN4-M2TS (Mellanox ' 'ConnectX-4 Lx EN).', 'choicecategory_id': 43896, 'comment': '30 DEC 2018,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2018, 12, 31, 11, 32, 25, 537110), 'id': 59627, 'multiplier': 0, 'name': '25GbE SFP28 Network port', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2018, 12, 31, 11, 48, 36, 475083)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 350597), 'defaultchoice_id': 30, 'id': 57234, 'name': 'PCI', 'option_id': 6, 'product_id': 57229, 'published': True, 'qty': 4, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 12, 19, 22, 32, 24, 173193)}), ('57234_4', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752af0>, '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)}, 31516: {'blurb': '', 'choicecategory_id': 43896, 'comment': '', 'cost': 135.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31516, 'multiplier': None, 'name': 'Intel Dual Port Gigabit ' 'Ethernet card', 'price': None, 'published': True, 'sortorder': 723, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 14, 297102)}, 57591: {'blurb': '2x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 15, 5, 13, 205604), 'id': 57591, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 7, 45, 32413)}, 57592: {'blurb': '4x 10GbE Network Port, ' 'RJ45 - typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 350.0, 'created': datetime.datetime(2015, 11, 27, 15, 8, 28, 961870), 'id': 57592, 'multiplier': 0, 'name': '4x 10GbE Network Port, ' 'RJ45', 'price': None, 'published': True, 'sortorder': 630, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 15, 8, 28, 961892)}, 57596: {'blurb': '2x 10GbE Network Port, ' 'SFP+, typically ' 'on-motherboard, add-on ' 'cards are used only as ' 'needed', 'choicecategory_id': 43896, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2015, 11, 27, 16, 0, 4, 199684), 'id': 57596, 'multiplier': 0, 'name': '2x 10GbE Network Port, ' 'SFP+', 'price': None, 'published': True, 'sortorder': 625, 'source': '', 'updated': datetime.datetime(2015, 11, 27, 16, 0, 4, 199706)}, 59627: {'blurb': '2x 25GbE SFP28 ports via ' 'AOC-URN4-M2TS (Mellanox ' 'ConnectX-4 Lx EN).', 'choicecategory_id': 43896, 'comment': '30 DEC 2018,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2018, 12, 31, 11, 32, 25, 537110), 'id': 59627, 'multiplier': 0, 'name': '25GbE SFP28 Network port', 'price': None, 'published': True, 'sortorder': 620, 'source': '', 'updated': datetime.datetime(2018, 12, 31, 11, 48, 36, 475083)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 350597), 'defaultchoice_id': 30, 'id': 57234, 'name': 'PCI', 'option_id': 6, 'product_id': 57229, 'published': True, 'qty': 4, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 12, 19, 22, 32, 24, 173193)}), ('57240_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752bb0>, 'allowed_quantities': '', 'choices': {30: {'blurb': '', 'choicecategory_id': 43882, 'comment': None, 'cost': 0.0, 'created': datetime.datetime(2001, 1, 10, 16, 56, 5), 'id': 30, 'multiplier': None, 'name': 'none', 'price': 0.0, 'published': True, 'sortorder': 0, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 49, 14, 496668)}, 15755: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 32.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15755, 'multiplier': None, 'name': 'Sliding Rails for 1U GRID ' 'chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 833111)}, 15756: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 39.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15756, 'multiplier': None, 'name': 'Sliding Rails for 1U ' 'chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 920928)}, 15758: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 39.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15758, 'multiplier': None, 'name': 'Sliding Rails, 20", for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 879585)}, 15759: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 43.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15759, 'multiplier': None, 'name': 'Sliding Rails, 26", for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 38786)}, 15761: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 12.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15761, 'multiplier': None, 'name': 'Center Mount Brackets for ' '1U chassis', 'price': None, 'published': True, 'sortorder': 1161, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 148911)}, 15762: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 12.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15762, 'multiplier': None, 'name': 'Rear Mount Brackets for ' '1U chassis', 'price': None, 'published': True, 'sortorder': 1161, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 188544)}, 15763: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15763, 'multiplier': None, 'name': 'Rear Mount Brackets for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1162, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 296366)}, 15764: {'blurb': '', 'choicecategory_id': 43902, 'comment': None, 'cost': 15.0, 'created': datetime.datetime(2002, 8, 26, 0, 0), 'id': 15764, 'multiplier': None, 'name': 'Center Mount Brackets for ' '2U-4U chassis', 'price': None, 'published': True, 'sortorder': 1162, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 53, 337783)}, 28682: {'blurb': '', 'choicecategory_id': 43902, 'comment': 'included in iBOX (KRI)', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 28682, 'multiplier': None, 'name': 'Sliding rails included', 'price': None, 'published': True, 'sortorder': 1160, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 50, 52, 803179)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 372174), 'defaultchoice_id': 30, 'id': 57240, 'name': 'Rails and Brackets', 'option_id': 15765, 'product_id': 57229, 'published': True, 'qty': 1, 'required': False, 'single': False, 'updated': datetime.datetime(2015, 11, 9, 21, 35, 17, 372195)}), ('57235_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752280>, 'allowed_quantities': '', 'choices': {23: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 8, 26, 16, 45, 22), 'id': 23, 'multiplier': 0, 'name': 'OpenBSD Legacy', 'price': 0.0, 'published': True, 'sortorder': 642, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 9, 38, 961577)}, 1075: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2003, 1, 23, 10, 30), 'id': 1075, 'multiplier': 0, 'name': 'Ubuntu Linux 19.04 Server ' 'Edition', 'price': 0.0, 'published': True, 'sortorder': 2103, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 855239)}, 4469: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4469, 'multiplier': 1, 'name': 'OpenMandriva Linux', 'price': 0.0, 'published': True, 'sortorder': 1501, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 52, 22, 288849)}, 4470: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 4470, 'multiplier': 1, 'name': 'OpenSUSE', 'price': 0.0, 'published': True, 'sortorder': 1511, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 777812)}, 7946: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 7946, 'multiplier': 0, 'name': 'LRP-based firewall', 'price': None, 'published': True, 'sortorder': 1201, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 19, 36, 199087)}, 7947: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 7947, 'multiplier': 0, 'name': 'Mini OpenBSD-based ' 'firewall', 'price': None, 'published': True, 'sortorder': 643, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 9, 53, 99097)}, 8259: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 8, 26, 0, 0), 'id': 8259, 'multiplier': 1, 'name': 'NetBSD', 'price': 0.0, 'published': True, 'sortorder': 631, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 561838)}, 8260: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 8260, 'multiplier': 1, 'name': 'OpenBSD', 'price': None, 'published': True, 'sortorder': 641, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 645735)}, 8261: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 8, 26, 0, 0), 'id': 8261, 'multiplier': 1, 'name': 'FreeBSD legacy', 'price': 0.0, 'published': True, 'sortorder': 621, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 434510)}, 9190: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 9190, 'multiplier': 1, 'name': 'FreeBSD production', 'price': 0.0, 'published': True, 'sortorder': 622, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 507928)}, 12160: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12160, 'multiplier': 1, 'name': 'Debian Linux - testing', 'price': None, 'published': True, 'sortorder': 402, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 343234)}, 12161: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12161, 'multiplier': 1, 'name': 'Debian Linux - stable', 'price': None, 'published': True, 'sortorder': 403, 'source': '', 'updated': datetime.datetime(2018, 2, 12, 15, 7, 56, 272282)}, 12385: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12385, 'multiplier': 0, 'name': 'Lycoris (Redmond) Linux', 'price': None, 'published': True, 'sortorder': 1211, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 20, 49, 103625)}, 12386: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 12386, 'multiplier': 0, 'name': 'ELX Linux', 'price': None, 'published': True, 'sortorder': 501, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 36, 25, 436042)}, 13079: {'blurb': '', 'choicecategory_id': 43898, 'comment': '$50 additional cost - ' 'for MS netbooks, ' 'laptops, desktops', 'cost': 35.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13079, 'multiplier': 0, 'name': 'Dual Boot operating ' 'systems (specify in ' 'NOTES)', 'price': None, 'published': True, 'sortorder': 411, 'source': '', 'updated': datetime.datetime(2020, 2, 12, 6, 22, 8, 191886)}, 13494: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 13494, 'multiplier': 0, 'name': 'icepack Linux', 'price': None, 'published': True, 'sortorder': 901, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 17, 33, 128960)}, 14512: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 14512, 'multiplier': 0, 'name': 'No OS - Windows - Ready', 'price': None, 'published': True, 'sortorder': 2702, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 5, 2, 566374)}, 14513: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 14513, 'multiplier': 0, 'name': 'No OS - (tested with ' 'Ubuntu)', 'price': None, 'published': True, 'sortorder': 2701, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 4, 35, 279480)}, 16595: {'blurb': '', 'choicecategory_id': 43898, 'comment': '349$online per server ' 'per year (July 27.06) ' 'novell.com/linux ', 'cost': 256.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 16595, 'multiplier': 0, 'name': 'Novell SUSE Linux ' 'Enterprise Server', 'price': None, 'published': True, 'sortorder': 1401, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 32, 53, 780782)}, 18857: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 139.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18857, 'multiplier': 0, 'name': 'MS Windows Professional', 'price': None, 'published': True, 'sortorder': 1321, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 31, 4, 627795)}, 21758: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 180.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 21758, 'multiplier': 0, 'name': 'Red Hat&reg; Linux ' 'Enterprise Workstation', 'price': None, 'published': True, 'sortorder': 1802, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 41, 29, 387468)}, 23926: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 448.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 23926, 'multiplier': 0, 'name': 'Red Hat&reg; Linux ' 'Advanced Server AMD64 (as ' 'ava', 'price': None, 'published': True, 'sortorder': 1803, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 41, 55, 659347)}, 26557: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2005, 3, 2, 0, 0), 'id': 26557, 'multiplier': 0, 'name': 'Gentoo Linux ', 'price': None, 'published': True, 'sortorder': 701, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 16, 23, 719364)}, 26565: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 26565, 'multiplier': 0, 'name': 'SuSE Linux AMD64 ' '(download edition)', 'price': None, 'published': True, 'sortorder': 1901, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 35, 4, 220929)}, 28768: {'blurb': '', 'choicecategory_id': 43898, 'comment': '50$ per system per ' 'year ' 'novell.om/products/desktop', 'cost': 34.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 28768, 'multiplier': 0, 'name': 'Novell SUSE Linux ' 'Enterprise Desktop', 'price': None, 'published': True, 'sortorder': 1402, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 33, 8, 708159)}, 31147: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 31147, 'multiplier': 1, 'name': 'Customer-provided custom ' 'Linux OS + software', 'price': None, 'published': True, 'sortorder': 1, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 42, 27, 429672)}, 31725: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 31725, 'multiplier': 1, 'name': 'CentOS Linux 6', 'price': None, 'published': True, 'sortorder': 302, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 44, 14, 613274)}, 31730: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 350.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 31730, 'multiplier': 0, 'name': 'Red Hat&reg; Linux ' 'Enterprise ES', 'price': None, 'published': True, 'sortorder': 1801, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 40, 59, 292673)}, 31809: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 31809, 'multiplier': 1, 'name': 'Debian Linux - ' 'development', 'price': None, 'published': True, 'sortorder': 401, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 113761)}, 32432: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 16.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32432, 'multiplier': 0, 'name': 'Freespire Linux 5.0 (1 ' 'Copy)', 'price': None, 'published': True, 'sortorder': 661, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 18, 15, 44, 848088)}, 32446: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32446, 'multiplier': 0, 'name': 'SimplyMEPIS Linux', 'price': None, 'published': True, 'sortorder': 1921, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 38, 12, 103646)}, 32940: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2006, 1, 24, 20, 0, 17), 'id': 32940, 'multiplier': 0, 'name': 'Ubuntu Linux 18.04 LTS ' 'Server Edition', 'price': None, 'published': True, 'sortorder': 2101, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 7, 49, 11, 645682)}, 35522: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2007, 8, 30, 0, 0), 'id': 35522, 'multiplier': 0, 'name': 'Ubuntu Linux 19.04 ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2104, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 921925)}, 35523: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2007, 8, 30, 0, 0), 'id': 35523, 'multiplier': 0, 'name': 'Ubuntu Linux 18.04 LTS ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2102, 'source': '', 'updated': datetime.datetime(2018, 4, 29, 7, 49, 19, 983081)}, 37587: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 3, 10, 1, 0), 'id': 37587, 'multiplier': 0, 'name': 'Zonbu OS', 'price': None, 'published': True, 'sortorder': 2601, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 39, 35, 94281)}, 38352: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 5, 5, 0, 0), 'id': 38352, 'multiplier': 0, 'name': 'Puppy Linux ', 'price': None, 'published': True, 'sortorder': 1602, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 23, 44, 56179)}, 38353: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2008, 5, 5, 0, 0), 'id': 38353, 'multiplier': 0, 'name': 'PCLinuxOS', 'price': None, 'published': True, 'sortorder': 1601, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 22, 54, 663202)}, 41887: {'blurb': '', 'choicecategory_id': 43898, 'comment': 'JJW July 3, 2020', 'cost': 0.0, 'created': datetime.datetime(2009, 3, 17, 14, 41, 17, 900605), 'id': 41887, 'multiplier': 0, 'name': 'Linux Mint 20 latest ' '"Ulyana"', 'price': None, 'published': True, 'sortorder': 1221, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 52, 19, 790543)}, 50022: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2011, 9, 28, 0, 0), 'id': 50022, 'multiplier': 1, 'name': 'CentOS Linux 7', 'price': None, 'published': True, 'sortorder': 301, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 43, 55, 935585)}, 56893: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2015, 6, 22, 14, 32, 10, 286481), 'id': 56893, 'multiplier': 1, 'name': 'PC-BSD', 'price': None, 'published': True, 'sortorder': 651, 'source': '', 'updated': datetime.datetime(2019, 4, 24, 22, 1, 26, 737128)}, 58975: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2016, 10, 14, 13, 43, 3, 529273), 'id': 58975, 'multiplier': 0, 'name': 'TrueOS Desktop', 'price': None, 'published': True, 'sortorder': 2002, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 55, 54, 98510)}, 58976: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2016, 10, 14, 13, 45, 2, 154268), 'id': 58976, 'multiplier': 0, 'name': 'TrueOS Server', 'price': None, 'published': True, 'sortorder': 2001, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 14, 55, 14, 194436)}, 58991: {'blurb': '', 'choicecategory_id': 43898, 'comment': 'cloned from ' 'Mandriva->OpenMarndriva ' 'may 20, 2017 JJW', 'cost': 0.0, 'created': datetime.datetime(2017, 5, 20, 13, 13, 51, 964687), 'id': 58991, 'multiplier': 0, 'name': 'Mageia Linux', 'price': 0.0, 'published': True, 'sortorder': 1301, 'source': '', 'updated': datetime.datetime(2018, 1, 10, 15, 28, 38, 191097)}, 59189: {'blurb': '', 'choicecategory_id': 43898, 'comment': '03 May 2019, Asif.\r\n' 'Jul 3 2020 JJW', 'cost': 0.0, 'created': datetime.datetime(2018, 1, 10, 13, 26, 9, 613766), 'id': 59189, 'multiplier': 1, 'name': 'Fedora Linux 32 Server ' 'Edition', 'price': None, 'published': True, 'sortorder': 595, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 47, 58, 497619)}, 59193: {'blurb': '', 'choicecategory_id': 43898, 'comment': '29 APR 2019,\r\nAsif', 'cost': 0.0, 'created': datetime.datetime(2018, 1, 10, 13, 40, 31, 908781), 'id': 59193, 'multiplier': 0, 'name': 'Fedora Linux 29 Server ' 'Edition', 'price': None, 'published': False, 'sortorder': 598, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 11, 54, 22, 304175)}, 59486: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2018, 4, 29, 9, 25, 14, 880664), 'id': 59486, 'multiplier': 0, 'name': 'Ubuntu Linux 20.04 LTS ' 'Server Edition', 'price': None, 'published': True, 'sortorder': 2107, 'source': '', 'updated': datetime.datetime(2020, 5, 3, 0, 59, 13, 782820)}, 59487: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2018, 4, 29, 9, 28, 49, 272316), 'id': 59487, 'multiplier': 0, 'name': 'Ubuntu Linux 20.04 LTS ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2108, 'source': '', 'updated': datetime.datetime(2020, 5, 3, 0, 59, 13, 858258)}, 59493: {'blurb': '', 'choicecategory_id': 43898, 'comment': '03 May 2019, Asif.\r\n' 'Jul 3 2020 JJW', 'cost': 0.0, 'created': datetime.datetime(2018, 6, 23, 10, 5, 12, 687437), 'id': 59493, 'multiplier': 1, 'name': 'Fedora Linux 32 ' 'Workstation Edition', 'price': None, 'published': True, 'sortorder': 596, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 47, 58, 550093)}, 59495: {'blurb': '', 'choicecategory_id': 43898, 'comment': '29 APR 2019,\r\nAsif', 'cost': 0.0, 'created': datetime.datetime(2018, 6, 23, 10, 6, 52, 4463), 'id': 59495, 'multiplier': 0, 'name': 'Fedora Linux 29 ' 'Workstation Edition', 'price': None, 'published': False, 'sortorder': 599, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 11, 54, 5, 904645)}, 59496: {'blurb': '', 'choicecategory_id': 43898, 'comment': '29 APR 2019,\r\nAsif', 'cost': 0.0, 'created': datetime.datetime(2018, 6, 23, 10, 7, 19, 535706), 'id': 59496, 'multiplier': 0, 'name': 'Fedora Linux 29 Atomic ' 'Edition', 'price': None, 'published': False, 'sortorder': 600, 'source': '', 'updated': datetime.datetime(2019, 4, 29, 11, 53, 47, 34730)}, 59707: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 355.0, 'created': datetime.datetime(2019, 5, 22, 16, 47, 18, 465905), 'id': 59707, 'multiplier': 0, 'name': 'Red Hat Enterprise Linux ' '8 Server', 'price': None, 'published': True, 'sortorder': 1806, 'source': '', 'updated': datetime.datetime(2019, 5, 22, 16, 52, 58, 26359)}, 59708: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 305.0, 'created': datetime.datetime(2019, 5, 22, 16, 49, 7, 142809), 'id': 59708, 'multiplier': 0, 'name': 'Red Hat Enterprise Linux ' '8 Developer Workstation', 'price': None, 'published': True, 'sortorder': 1805, 'source': '', 'updated': datetime.datetime(2019, 5, 22, 16, 53, 12, 251397)}, 59709: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 8100.0, 'created': datetime.datetime(2019, 5, 22, 16, 50, 29, 305900), 'id': 59709, 'multiplier': 0, 'name': 'Red Hat JBoss Enterprise ' '8 Application Platform', 'price': None, 'published': True, 'sortorder': 1807, 'source': '', 'updated': datetime.datetime(2019, 5, 22, 16, 50, 29, 305924)}, 59716: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 3, 14, 655104), 'id': 59716, 'multiplier': 0, 'name': 'Ubuntu Linux 19.10 Server ' 'Edition', 'price': 0.0, 'published': True, 'sortorder': 2105, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 3, 14, 655124)}, 59717: {'blurb': '', 'choicecategory_id': 43898, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 3, 32, 382968), 'id': 59717, 'multiplier': 0, 'name': 'Ubuntu Linux 19.10 ' 'Desktop Edition', 'price': None, 'published': True, 'sortorder': 2106, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 3, 32, 382990)}, 59718: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct. 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 52, 38, 996607), 'id': 59718, 'multiplier': 1, 'name': 'Fedora Linux 31 Server ' 'Edition', 'price': None, 'published': True, 'sortorder': 592, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 52, 38, 996630)}, 59719: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct. 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 52, 49, 960822), 'id': 59719, 'multiplier': 1, 'name': 'Fedora Linux 31 ' 'Workstation Edition', 'price': None, 'published': True, 'sortorder': 593, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 52, 49, 960844)}, 59721: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct. 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 17, 55, 23, 554117), 'id': 59721, 'multiplier': 1, 'name': 'CentOS Linux 8', 'price': None, 'published': True, 'sortorder': 300, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 17, 55, 23, 554140)}, 59722: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 16.0, 'created': datetime.datetime(2019, 11, 10, 17, 59, 45, 876380), 'id': 59722, 'multiplier': 0, 'name': 'Freespire Linux 4.0 (1 ' 'Copy)', 'price': None, 'published': True, 'sortorder': 662, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 18, 15, 26, 162692)}, 59723: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 16.0, 'created': datetime.datetime(2019, 11, 10, 18, 0, 2, 558399), 'id': 59723, 'multiplier': 0, 'name': 'Freespire Linux 3.0 (1 ' 'Copy)', 'price': None, 'published': True, 'sortorder': 663, 'source': '', 'updated': datetime.datetime(2019, 11, 10, 18, 15, 4, 840706)}, 59724: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 18, 2, 17, 934562), 'id': 59724, 'multiplier': 0, 'name': 'Linux Mint 19 latest', 'price': None, 'published': True, 'sortorder': 1220, 'source': '', 'updated': datetime.datetime(2020, 2, 12, 6, 22, 8, 283115)}, 59725: {'blurb': '', 'choicecategory_id': 43898, 'comment': '10 Oct 2019,\r\nAsif.', 'cost': 0.0, 'created': datetime.datetime(2019, 11, 10, 18, 2, 40, 375152), 'id': 59725, 'multiplier': 0, 'name': 'Linux Mint 19.3 "Tricia"', 'price': None, 'published': True, 'sortorder': 1219, 'source': '', 'updated': datetime.datetime(2020, 7, 3, 20, 45, 14, 795217)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 354252), 'defaultchoice_id': 35523, 'id': 57235, 'name': 'Operating System', 'option_id': 7, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 12, 19, 22, 34, 9, 231361)}), ('57243_1', {'_state': <django.db.models.base.ModelState object at 0x7fbbed752160>, 'allowed_quantities': '', 'choices': {18049: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 0.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18049, 'multiplier': None, 'name': 'Standard 1yr full /3yr ' 'limited warranty', 'price': None, 'published': True, 'sortorder': 9001, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 510446)}, 18051: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 100.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18051, 'multiplier': None, 'name': 'Extended 2yr full / 3yr ' 'limited warranty', 'price': None, 'published': True, 'sortorder': 9002, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 551220)}, 18052: {'blurb': '', 'choicecategory_id': 43919, 'comment': '', 'cost': 200.0, 'created': datetime.datetime(2001, 1, 1, 0, 0), 'id': 18052, 'multiplier': None, 'name': 'Premium full 3yr warranty', 'price': None, 'published': True, 'sortorder': 9003, 'source': '', 'updated': datetime.datetime(2015, 10, 6, 12, 53, 3, 596260)}}, 'choices_orderby': 'cost', 'created': datetime.datetime(2015, 11, 9, 21, 35, 17, 382250), 'defaultchoice_id': 18049, 'id': 57243, 'name': 'Warranty', 'option_id': 18048, 'product_id': 57229, 'published': True, 'qty': 1, 'required': True, 'single': False, 'updated': datetime.datetime(2015, 11, 9, 22, 12, 43, 996943)})]), 'published': True, 'qty': 1, 'sku': 'QUIET3', 'sortorder': 10, 'summary': '', 'title': '', 'totprice': 1495.0, 'updated': datetime.datetime(2020, 1, 6, 18, 33, 9, 626318), 'weight': 45}

No GET data

No POST data

SQL queries from 1 connection

  •   default 570.74 ms (161 queries including 159 similar and 150 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('QUIET3')
 ORDER BY
"products"."sortorder" ASC, "products"."sku" ASC
SELECT ••• FROM "products" WHERE UPPER("products"."sku"::text) = UPPER('QUIET3') ORDER BY "products"."sortorder" ASC, "products"."sku" ASC
1.6371836864788227%
9.34

Connection: default

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

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" = 57229
 ORDER BY
"options"."sortorder" ASC
SELECT ••• FROM "prodopts" INNER JOIN "options" ON ("prodopts"."optionid" = "options"."id") WHERE "prodopts"."productid" = 57229 ORDER BY "options"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.8543081131909167%
4.88

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" = 57236
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 57236
  36 similar queries.   Duplicated 2 times.
0.6426004452210586%
3.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())])
/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" = 36902
SELECT ••• FROM "choices" WHERE "choices"."id" = 36902
  17 similar queries.   Duplicated 2 times.
0.11729974973546985%
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())])
/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 (36902)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (36902) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  4 similar queries.   Duplicated 2 times.
0.8804164976583913%
5.02

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
  30 similar queries.   Duplicated 2 times.
0.11466802458114841%
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(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" = 57247
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 57247
  36 similar queries.   Duplicated 2 times.
1.1802660715904434%
6.74

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" = 18007
SELECT ••• FROM "choices" WHERE "choices"."id" = 18007
  17 similar queries.   Duplicated 2 times.
0.06654505033069924%
0.38

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 56944
SELECT ••• FROM "options" WHERE "options"."id" = 56944
  30 similar queries.   Duplicated 2 times.
0.7281106260289314%
4.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(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" = 56944
 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" = 56944 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  32 similar queries.   Duplicated 2 times.
1.1556197566531474%
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(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 (7938, 56953, 56954)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (7938, 56953, 56954) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  6 similar queries.   Duplicated 2 times.
2.0523696596343908%
11.71

Connection: default

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

Connection: default

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

Connection: default

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

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 (56956, 44033, 44034, 44035, 57044, 44036, 57046, 48229, 50398, 48230, 48232, 48185, 48186, 50949, 48187, 50950, 50951, 50947, 50948)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (56956, 44033, 44034, 44035, 57044, 44036, 57046, 48229, 50398, 48230, 48232, 48185, 48186, 50949, 48187, 50950, 50951, 50947, 50948) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.12536201885902598%
0.72

Connection: default

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

Connection: default

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

Connection: default

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

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" = 3
SELECT ••• FROM "options" WHERE "options"."id" = 3
  30 similar queries.   Duplicated 2 times.
0.0728528360180411%
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())])
/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" = 3
 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" = 3 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  32 similar queries.   Duplicated 2 times.
0.584702491825987%
3.34

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 4283, 9, 5676, 1016, 36425, 36426, 35176, 10, 36427, 36428, 36429, 36430, 36431, 39315, 39316, 39317, 42847, 42848, 58366, 32407, 32411, 32414, 32415, 36230, 41970, 39338, 47365, 9906, 9905, 9907, 6725, 9904, 4, 5, 6, 6868, 11077, 16875, 15545, 23758, 31479, 16876, 9153, 3, 7, 8)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 4283, 9, 5676, 1016, 36425, 36426, 35176, 10, 36427, 36428, 36429, 36430, 36431, 39315, 39316, 39317, 42847, 42848, 58366, 32407, 32411, 32414, 32415, 36230, 41970, 39338, 47365, 9906, 9905, 9907, 6725, 9904, 4, 5, 6, 6868, 11077, 16875, 15545, 23758, 31479, 16876, 9153, 3, 7, 8) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
1.0879885975286012%
6.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())])
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 57242
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 57242
  36 similar queries.   Duplicated 2 times.
0.08617855545024014%
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(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" = 4
SELECT ••• FROM "options" WHERE "options"."id" = 4
  30 similar queries.   Duplicated 2 times.
0.06174110758868391%
0.35

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 4
 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" = 4 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  32 similar queries.   Duplicated 2 times.
0.2279992998775621%
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(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "choices"."name",
       "choices"."source",
       "choices"."price",
       "choices"."cost",
       "choices"."sortorder",
       "choices"."multiplier",
       "choices"."comment",
       "choices"."choicecategory_id",
       "choices"."blurb",
       "choices"."published",
       "choices"."created",
       "choices"."updated"
  FROM
"choices"
 WHERE
"choices"."id" IN (30, 13114, 40946, 40947, 40371, 4663, 37079, 37016, 37211, 32904, 43641, 19663, 32796, 13113, 32072, 10509, 16858, 7344, 15, 7345, 5818, 34217, 34218, 37201, 37202, 36540, 36541, 39315, 39316, 39317, 42847, 42848, 32414, 32415, 36230, 41970, 39338, 47365, 29829, 28749, 33019, 33409, 9906, 9905, 9907, 6725, 9904, 4, 5, 6, 6868, 11077, 16875, 15545, 31479, 16876, 9153, 27252, 3, 7, 8)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 13114, 40946, 40947, 40371, 4663, 37079, 37016, 37211, 32904, 43641, 19663, 32796, 13113, 32072, 10509, 16858, 7344, 15, 7345, 5818, 34217, 34218, 37201, 37202, 36540, 36541, 39315, 39316, 39317, 42847, 42848, 32414, 32415, 36230, 41970, 39338, 47365, 29829, 28749, 33019, 33409, 9906, 9905, 9907, 6725, 9904, 4, 5, 6, 6868, 11077, 16875, 15545, 31479, 16876, 9153, 27252, 3, 7, 8) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.38510911424903727%
2.20

Connection: default

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

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(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" = 9301
 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" = 9301 ORDER BY "choices"."sortorder" ASC, "choices"."cost" ASC
  32 similar queries.   Duplicated 2 times.
1.0407428649962591%
5.94

Connection: default

/usr/local/bin/gunicorn in <module>(8)
  sys.exit(run())
/usr/local/lib/python3.8/site-packages/gunicorn/app/wsgiapp.py in run(58)
  WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(228)
  super().run()
/usr/local/lib/python3.8/site-packages/gunicorn/app/base.py in run(72)
  Arbiter(self).run()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in run(211)
  self.manage_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in manage_workers(545)
  self.spawn_workers()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_workers(616)
  self.spawn_worker()
/usr/local/lib/python3.8/site-packages/gunicorn/arbiter.py in spawn_worker(583)
  worker.init_process()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/base.py in init_process(140)
  self.run()
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run(123)
  self.run_for_one(timeout)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in run_for_one(67)
  self.accept(listener)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in accept(29)
  self.handle(listener, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle(134)
  self.handle_request(listener, req, client, addr)
/usr/local/lib/python3.8/site-packages/gunicorn/workers/sync.py in handle_request(175)
  respiter = self.wsgi(environ, resp.start_response)
/home/joe/eracks12/web/apps/products/views.py in product(384)
  ses_helper.fill (product)
/home/joe/eracks12/web/apps/home/helpers.py in fill(198)
  opts [lineid] ['choices'] = dict ([(c['id'],c) for c in list(po.all_choices().values())])
/home/joe/eracks12/web/apps/products/models.py in all_choices(502)
  return self.option_choices()
/home/joe/eracks12/web/apps/products/models.py in option_choices(494)
  result = list (self.option.choices.values_list ('id', flat=True))  # all()  #filter(published=True)],
  +
SELECT "choices"."id",
       "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, 13114, 40946, 40947, 37016, 43641, 19663, 13113, 16859, 7344, 15, 7345, 5818, 34217, 34218, 36540, 36541, 39315, 39316, 39317, 42847, 42848, 32411, 32414, 32415, 36230, 41970, 39338, 47365)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (30, 13114, 40946, 40947, 37016, 43641, 19663, 13113, 16859, 7344, 15, 7345, 5818, 34217, 34218, 36540, 36541, 39315, 39316, 39317, 42847, 42848, 32411, 32414, 32415, 36230, 41970, 39338, 47365) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.8196779520332584%
4.68

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

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

Connection: default

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

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" = 32416
SELECT ••• FROM "options" WHERE "options"."id" = 32416
  30 similar queries.   Duplicated 2 times.
0.07661244338135745%
0.44

Connection: default

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

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 (39316, 39317, 42847, 42848, 57723, 57724, 58366, 32414, 32415, 36230, 48240, 41970, 47365)
 ORDER BY
"choices"."cost" ASC, "choices"."sortorder" ASC
SELECT ••• FROM "choices" WHERE "choices"."id" IN (39316, 39317, 42847, 42848, 57723, 57724, 58366, 32414, 32415, 36230, 48240, 41970, 47365) ORDER BY "choices"."cost" ASC, "choices"."sortorder" ASC
  2 similar queries.   Duplicated 2 times.
0.10777541108173512%
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())])
  +
SELECT COUNT(*) AS "__count"
  FROM
"choices"
 INNER JOIN
"prodoptchoices"
    ON
("choices"."id" = "prodoptchoices"."choiceid")
 WHERE
"prodoptchoices"."productoptionid" = 57234
SELECT ••• FROM "choices" INNER JOIN "prodoptchoices" ON ("choices"."id" = "prodoptchoices"."choiceid") WHERE "prodoptchoices"."productoptionid" = 57234
  36 similar queries.   Duplicated 8 times.
1.020524532064647%
5.82