MultipleObjectsReturned at /api/observations/CAS:ICH:205935/

get() returned more than one ClassKey -- it returned 5!
Request Method: GET
Request URL: https://ecoengine.berkeley.edu/api/observations/CAS:ICH:205935/
Django Version: 1.8.18
Exception Type: MultipleObjectsReturned
Exception Value:
get() returned more than one ClassKey -- it returned 5!
Exception Location: /usr/local/www/ecoengine.berkeley.edu/env/lib/python2.7/site-packages/django/db/models/query.py in get, line 338
Python Executable: /usr/bin/python
Python Version: 2.7.16
Python Path:
['/usr/local/www/ecoengine.berkeley.edu/bee',
 '/usr/local/www/ecoengine.berkeley.edu/env/lib/python2.7/site-packages',
 '/usr/lib/python2.7',
 '/usr/lib/python2.7/plat-x86_64-linux-gnu',
 '/usr/lib/python2.7/lib-tk',
 '/usr/lib/python2.7/lib-old',
 '/usr/lib/python2.7/lib-dynload',
 '/usr/local/lib/python2.7/dist-packages',
 '/usr/lib/python2.7/dist-packages',
 '/']
Server time: Thu, 28 Mar 2024 02:44:35 -0700

Traceback Switch to copy-and-paste view



Request information

GET

No GET data

POST

No POST data

FILES

No FILES data

No cookie data

META

Variable Value
mod_wsgi.listener_port
'443'
QS_IPConn
'1'
CONTEXT_DOCUMENT_ROOT
'/var/www/html'
SERVER_SOFTWARE
'Apache/2.4.38 (Debian)'
SCRIPT_NAME
u''
mod_wsgi.enable_sendfile
'0'
mod_wsgi.handler_script
''
SERVER_SIGNATURE
'<address>Apache/2.4.38 (Debian) Server at ecoengine.berkeley.edu Port 443</address>\n'
REQUEST_METHOD
'GET'
PATH_INFO
u'/api/observations/CAS:ICH:205935/'
SERVER_PROTOCOL
'HTTP/1.1'
QUERY_STRING
''
SSL_TLS_SNI
'ecoengine.berkeley.edu'
HTTP_USER_AGENT
'claudebot'
SERVER_NAME
'ecoengine.berkeley.edu'
REMOTE_ADDR
'54.167.52.238'
mod_wsgi.queue_start
'1711619075590930'
mod_wsgi.request_handler
'wsgi-script'
apache.version
(2, 4, 38)
mod_wsgi.thread_id
1
wsgi.url_scheme
'https'
QS_ConnectionId
'17116190745174400939124'
PATH_TRANSLATED
'/usr/local/www/ecoengine.berkeley.edu/bee/bee/wsgi.py/api/observations/CAS:ICH:205935/'
SERVER_PORT
'443'
mod_wsgi.total_requests
33L
wsgi.multiprocess
True
SERVER_ADDR
'128.32.213.154'
DOCUMENT_ROOT
'/var/www/html'
mod_wsgi.process_group
'ecoengine'
mod_wsgi.thread_requests
16L
mod_wsgi.daemon_connects
'1'
mod_wsgi.request_id
'ZgU8A2Hif2tAKcsxrOrg3wAAAA4'
SCRIPT_FILENAME
'/usr/local/www/ecoengine.berkeley.edu/bee/bee/wsgi.py'
SERVER_ADMIN
'joyceg@berkeley.edu'
mod_wsgi.ignore_activity
'0'
wsgi.input
<mod_wsgi.Input object at 0x7f07d0280500>
HTTP_HOST
'ecoengine.berkeley.edu'
CONTEXT_PREFIX
''
wsgi.multithread
True
mod_wsgi.callable_object
'application'
mod_wsgi.daemon_restarts
'0'
REQUEST_URI
'/api/observations/CAS:ICH:205935/'
HTTP_ACCEPT
'*/*'
mod_wsgi.path_info
'/api/observations/CAS:ICH:205935/'
QS_SrvConn
'1'
wsgi.file_wrapper
''
wsgi.version
(1, 0)
GATEWAY_INTERFACE
'CGI/1.1'
wsgi.run_once
False
CSRF_COOKIE
u'nehzNpssEVDFEyxwGD0YAdxM4W1J2AaW'
mod_wsgi.script_name
''
REMOTE_PORT
'40788'
mod_wsgi.listener_host
''
REQUEST_SCHEME
'https'
mod_wsgi.version
(4, 6, 5)
wsgi.input_terminated
True
mod_wsgi.script_start
'1711619075591090'
mod_wsgi.application_group
'ecoengine.berkeley.edu|'
mod_wsgi.script_reloading
'1'
mod_wsgi.request_start
'1711619075589651'
QS_AllConn
'1'
wsgi.errors
<mod_wsgi.Log object at 0x7f07d0243bc0>
UNIQUE_ID
'ZgU8A2Hif2tAKcsxrOrg3wAAAA4'
mod_wsgi.daemon_start
'1711619075591043'

Settings

Using settings module bee.settings

Setting Value
SECURE_BROWSER_XSS_FILTER
False
USE_THOUSAND_SEPARATOR
False
CSRF_COOKIE_SECURE
False
LANGUAGE_CODE
'en-us'
ROOT_URLCONF
'bee.urls'
LOGIN_URL
'/accounts/login/'
BROKER_URL
'amqp://guest:guest@localhost:5672//'
SILENCED_SYSTEM_CHECKS
[]
DEFAULT_CHARSET
'utf-8'
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
STATIC_ROOT
'/usr/local/www/ecoengine.berkeley.edu/bee/bee/static/public'
CELERY_MAX_CACHED_RESULTS
100
CACHE_MIDDLEWARE_ANONYMOUS_ONLY
True
ALLOWED_HOSTS
('ecoengine.berkeley.edu',
 'dev-ecoengine.berkeley.edu',
 'wallace.bnhm.berkeley.edu',
 '128.32.213.154')
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
EMAIL_SUBJECT_PREFIX
'[Django] '
SERVER_EMAIL
'root@localhost'
SECURE_HSTS_SECONDS
0
STATICFILES_FINDERS
('django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder')
SESSION_CACHE_ALIAS
'default'
SESSION_COOKIE_DOMAIN
None
SESSION_COOKIE_NAME
'sessionid'
TIME_INPUT_FORMATS
('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')
SECURE_REDIRECT_EXEMPT
[]
DATABASES
{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.contrib.gis.db.backends.postgis',
             'HOST': 'localhost',
             'NAME': 'bee',
             'OPTIONS': {},
             'PASSWORD': u'********************',
             'PORT': '5432',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': 'America/Los_Angeles',
             'USER': 'beeuser'}}
EMAIL_SSL_KEYFILE
u'********************'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
FILE_UPLOAD_PERMISSIONS
420
FILE_UPLOAD_HANDLERS
('django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler')
DEFAULT_CONTENT_TYPE
'text/html'
APPEND_SLASH
True
FIRST_DAY_OF_WEEK
0
DATABASE_ROUTERS
[]
DEFAULT_TABLESPACE
''
YEAR_MONTH_FORMAT
'F Y'
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SESSION_COOKIE_PATH
'/'
HAYSTACK_DEFAULT_OPERATOR
'AND'
SECURE_CONTENT_TYPE_NOSNIFF
False
MIDDLEWARE_CLASSES
('bee.base.middleware.MaybeUpdateCacheMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.middleware.cache.FetchFromCacheMiddleware')
USE_I18N
False
THOUSAND_SEPARATOR
','
SECRET_KEY
u'********************'
LANGUAGE_COOKIE_NAME
'django_language'
DEFAULT_INDEX_TABLESPACE
''
LOGGING_CONFIG
'logging.config.dictConfig'
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader',
 'django.template.loaders.app_directories.Loader')
WSGI_APPLICATION
'bee.wsgi.application'
API_VERSION
u'********************'
TEMPLATE_DEBUG
True
X_FRAME_OPTIONS
'SAMEORIGIN'
CSRF_COOKIE_NAME
'csrftoken'
HAYSTACK_CONNECTIONS
{'default': {'BATCH_SIZE': 1000,
             'ENGINE': 'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine',
             'INDEX_NAME': 'haystack',
             'TIMEOUT': 60,
             'URL': '127.0.0.1:9200'}}
FORCE_SCRIPT_NAME
None
USE_X_FORWARDED_HOST
False
EMAIL_TIMEOUT
None
SECURE_SSL_HOST
None
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SESSION_COOKIE_SECURE
False
CSRF_COOKIE_DOMAIN
None
FILE_CHARSET
'utf-8'
DEBUG
True
LANGUAGE_COOKIE_DOMAIN
None
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
INSTALLED_APPS
('django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.gis',
 'corsheaders',
 'rest_framework',
 'rest_framework.authtoken',
 'django_filters',
 'haystack',
 'spillway',
 'bee.base',
 'bee.etl',
 'bee.examples',
 'django.contrib.admin',
 'django.contrib.admindocs')
LANGUAGES_BIDI
('he', 'ar', 'fa', 'ur')
USE_L10N
True
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
STATICFILES_DIRS
('/usr/local/www/ecoengine.berkeley.edu/bee/bee/static/js',
 '/usr/local/www/ecoengine.berkeley.edu/bee/bee/static/css',
 '/usr/local/www/ecoengine.berkeley.edu/bee/bee/static/img',
 '/usr/local/www/ecoengine.berkeley.edu/bee/bee/static/app/bower_components')
PREPEND_WWW
False
SECURE_PROXY_SSL_HEADER
('HTTP_X_FORWARDED_PROTO', 'https')
LANGUAGE_COOKIE_AGE
None
SESSION_COOKIE_HTTPONLY
True
DEBUG_PROPAGATE_EXCEPTIONS
False
CSRF_COOKIE_AGE
31449600
MONTH_DAY_FORMAT
'F j'
MANAGERS
(('gitdev', 'gitdev@localhost'),)
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
TIME_FORMAT
'P'
AUTH_USER_MODEL
'auth.User'
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')
AUTHENTICATION_BACKENDS
('django.contrib.auth.backends.ModelBackend',)
EMAIL_HOST_PASSWORD
u'********************'
PASSWORD_RESET_TIMEOUT_DAYS
u'********************'
SESSION_FILE_PATH
None
CACHE_MIDDLEWARE_ALIAS
'default'
SESSION_SAVE_EVERY_REQUEST
False
NUMBER_GROUPING
0
SESSION_ENGINE
'django.contrib.sessions.backends.db'
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
CSRF_COOKIE_PATH
'/'
LOGIN_REDIRECT_URL
'/accounts/profile/'
PROJECT_ROOT
'/usr/local/www/ecoengine.berkeley.edu/bee/bee'
DECIMAL_SEPARATOR
'.'
IGNORABLE_404_URLS
()
LOCALE_PATHS
()
TEMPLATE_STRING_IF_INVALID
''
CORS_ALLOW_METHODS
('GET',)
LOGOUT_URL
'/accounts/logout/'
EMAIL_USE_TLS
False
FIXTURE_DIRS
()
EMAIL_HOST
'localhost'
DATE_FORMAT
'N j, Y'
MEDIA_ROOT
'/usr/local/www/ecoengine.berkeley.edu/bee/bee/media/'
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
ADMINS
(('gitdev', 'gitdev@localhost'),)
FORMAT_MODULE_PATH
None
DEFAULT_FROM_EMAIL
'webmaster@localhost'
REST_FRAMEWORK
{'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework.authentication.BasicAuthentication',
                                    'rest_framework.authentication.SessionAuthentication',
                                    'rest_framework.authentication.TokenAuthentication'),
 'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',
                             'bee.base.filters.SearchOrderingFilter'),
 'DEFAULT_PAGINATION_CLASS': 'bee.base.pagination.FeaturePagination',
 'DEFAULT_PARSER_CLASSES': ('rest_framework.parsers.JSONParser',),
 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),
 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer',
                              'bee.base.renderers.BrowsableAPIRenderer',
                              'bee.base.renderers.MyCSVRenderer'),
 'DEFAULT_THROTTLE_CLASSES': ('rest_framework.throttling.AnonRateThrottle',
                              'rest_framework.throttling.UserRateThrottle'),
 'DEFAULT_THROTTLE_RATES': {'anon': '500/minute', 'user': '20/second'},
 'PAGE_SIZE': 10}
MEDIA_URL
'/media/'
DATETIME_FORMAT
'N j, Y, P'
TEMPLATE_DIRS
('/usr/local/www/ecoengine.berkeley.edu/bee/bee/templates',)
CELERY_ACCEPT_CONTENT
['pickle', 'json']
SITE_ID
1
DISALLOWED_USER_AGENTS
()
ALLOWED_INCLUDE_ROOTS
()
LOGGING
{u'disable_existing_loggers': False,
 u'filters': {u'require_debug_false': {u'()': u'django.utils.log.RequireDebugFalse'},
              u'require_debug_true': {u'()': u'django.utils.log.RequireDebugTrue'}},
 u'handlers': {u'console': {u'class': u'logging.StreamHandler',
                            u'filters': [u'require_debug_true'],
                            u'level': u'INFO'},
               u'mail_admins': {u'class': u'django.utils.log.AdminEmailHandler',
                                u'filters': [u'require_debug_false'],
                                u'level': u'ERROR'},
               u'null': {u'class': u'logging.NullHandler'}},
 u'loggers': {u'django': {u'handlers': [u'console']},
              u'django.request': {u'handlers': [u'mail_admins'],
                                  u'level': u'ERROR',
                                  u'propagate': False},
              u'django.security': {u'handlers': [u'mail_admins'],
                                   u'level': u'ERROR',
                                   u'propagate': False},
              'django.security.DisallowedHost': {'handlers': ['console'],
                                                 'propagate': False},
              u'py.warnings': {u'handlers': [u'console']}},
 u'version': 1}
SHORT_DATE_FORMAT
'm/d/Y'
TEMPLATES
[]
TEST_RUNNER
'django.test.runner.DiscoverRunner'
CELERYD_MAX_TASKS_PER_CHILD
20
CACHE_MIDDLEWARE_KEY_PREFIX
u'********************'
SECURE_SSL_REDIRECT
False
TIME_ZONE
'America/Los_Angeles'
CORS_ORIGIN_ALLOW_ALL
True
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_SSL
False
TEMPLATE_CONTEXT_PROCESSORS
('django.contrib.auth.context_processors.auth',
 'django.core.context_processors.debug',
 'django.core.context_processors.i18n',
 'django.core.context_processors.media',
 'django.core.context_processors.static',
 'django.core.context_processors.tz',
 'django.contrib.messages.context_processors.messages',
 'django.core.context_processors.request',
 'bee.base.context_processors.add_some_settings')
MIGRATION_MODULES
{}
SESSION_COOKIE_AGE
1209600
SETTINGS_MODULE
'bee.settings'
USE_ETAGS
False
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'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian 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'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hu', 'Hungarian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('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 Bokmal'),
 ('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-cn', 'Simplified Chinese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese'),
 ('zh-tw', 'Traditional Chinese'))
CELERY_TASK_RESULT_EXPIRES
600
FILE_UPLOAD_TEMP_DIR
None
INTERNAL_IPS
('127.0.0.1',)
STATIC_URL
'/static/'
EMAIL_PORT
25
USE_TZ
False
SHORT_DATETIME_FORMAT
'm/d/Y P'
TEST_NON_SERIALIZED_APPS
[]
PASSWORD_HASHERS
u'********************'
HAYSTACK_ITERATOR_LOAD_PER_QUERY
1000
ABSOLUTE_URL_OVERRIDES
{}
LANGUAGE_COOKIE_PATH
'/'
CACHE_MIDDLEWARE_SECONDS
6000
EMAIL_SSL_CERTFILE
None
CSRF_COOKIE_HTTPONLY
False
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')
EMAIL_HOST_USER
''

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.