· 6 years ago · Apr 01, 2019, 11:04 AM
1MultipleObjectsReturned at /api/rentals/321/return/
2get() returned more than one Charge -- it returned 2!
3
4Request Method: PATCH
5Request URL: https://ops4-backend-staging.herokuapp.com/api/rentals/321/return/
6Django Version: 2.1.7
7Python Executable: /app/.heroku/python/bin/python
8Python Version: 3.6.8
9Python Path: ['/app/.heroku/python/bin', '/app/.heroku/python/lib/python3.6/site-packages/newrelic/bootstrap', '/app', '/app/.heroku/python/lib/python36.zip', '/app/.heroku/python/lib/python3.6', '/app/.heroku/python/lib/python3.6/lib-dynload', '/app/.heroku/python/lib/python3.6/site-packages', '/app']
10Server time: Mon, 1 Apr 2019 10:59:38 +0000
11Installed Applications:
12['authentication.apps.AuthenticationConfig',
13 'django.contrib.admin',
14 'django.contrib.auth',
15 'django.contrib.contenttypes',
16 'django.contrib.sessions',
17 'django.contrib.messages',
18 'django.contrib.staticfiles',
19 'rest_framework',
20 'rest_framework.authtoken',
21 'rest_auth',
22 'rest_framework_jwt',
23 'debug_toolbar',
24 'corsheaders',
25 'raven.contrib.django.raven_compat',
26 'algoliasearch_django',
27 'django_celery_results',
28 'django_celery_beat',
29 'storages',
30 'django_filters',
31 'core',
32 'documents.apps.DocumentsConfig',
33 'drivers.apps.DriversConfig',
34 'invoice_generation.apps.InvoiceGenerationConfig',
35 'maintenance',
36 'payments.apps.PaymentConfig',
37 'rentals.apps.RentalsConfig',
38 'reports.apps.ReportsConfig',
39 'tickets',
40 'vehicles.apps.VehiclesConfig',
41 'alerts',
42 'notifications',
43 'health_check',
44 'health_check.db',
45 'health_check.contrib.celery',
46 'health_check.contrib.s3boto3_storage']
47Installed Middleware:
48['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
49 'raven.contrib.django.middleware.SentryMiddleware',
50 'django.middleware.security.SecurityMiddleware',
51 'whitenoise.middleware.WhiteNoiseMiddleware',
52 'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware',
53 'django.middleware.locale.LocaleMiddleware',
54 'corsheaders.middleware.CorsMiddleware',
55 'debug_toolbar.middleware.DebugToolbarMiddleware',
56 'django.contrib.sessions.middleware.SessionMiddleware',
57 'django.middleware.common.CommonMiddleware',
58 'django.middleware.csrf.CsrfViewMiddleware',
59 'django.contrib.auth.middleware.AuthenticationMiddleware',
60 'django.contrib.messages.middleware.MessageMiddleware',
61 'django.middleware.clickjacking.XFrameOptionsMiddleware']
62
63
64Traceback:
65
66File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
67 34. response = get_response(request)
68
69File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
70 126. response = self.process_exception_by_middleware(e, request)
71
72File "/app/.heroku/python/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
73 124. response = wrapped_callback(request, *callback_args, **callback_kwargs)
74
75File "/app/.heroku/python/lib/python3.6/site-packages/newrelic/hooks/framework_django.py" in wrapper
76 544. return wrapped(*args, **kwargs)
77
78File "/app/.heroku/python/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
79 54. return view_func(*args, **kwargs)
80
81File "/app/.heroku/python/lib/python3.6/site-packages/django/views/generic/base.py" in view
82 68. return self.dispatch(request, *args, **kwargs)
83
84File "/app/.heroku/python/lib/python3.6/site-packages/newrelic/hooks/component_djangorestframework.py" in _nr_wrapper_APIView_dispatch_
85 46. return wrapped(*args, **kwargs)
86
87File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
88 495. response = self.handle_exception(exc)
89
90File "/app/.heroku/python/lib/python3.6/site-packages/newrelic/hooks/component_djangorestframework.py" in _handle_exception_wrapper
91 53. return wrapped(*args, **kwargs)
92
93File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
94 455. self.raise_uncaught_exception(exc)
95
96File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
97 492. response = handler(request, *args, **kwargs)
98
99File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/generics.py" in patch
100 231. return self.partial_update(request, *args, **kwargs)
101
102File "/app/.heroku/python/lib/python3.6/site-packages/rest_framework/mixins.py" in partial_update
103 84. return self.update(request, *args, **kwargs)
104
105File "/app/rentals/views.py" in update
106 583. status='successful', type='rent')
107
108File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/manager.py" in manager_method
109 82. return getattr(self.get_queryset(), name)(*args, **kwargs)
110
111File "/app/.heroku/python/lib/python3.6/site-packages/django/db/models/query.py" in get
112 403. (self.model._meta.object_name, num)
113
114Exception Type: MultipleObjectsReturned at /api/rentals/321/return/
115Exception Value: get() returned more than one Charge -- it returned 2!
116Request information:
117USER: matej
118
119GET: No GET data
120
121POST: No POST data
122
123FILES: No FILES data
124
125COOKIES: No cookie data
126
127META:
128CONTENT_LENGTH = '99'
129CONTENT_TYPE = 'application/json'
130HTTP_ACCEPT = 'application/json'
131HTTP_ACCEPT_ENCODING = 'br, gzip, deflate'
132HTTP_ACCEPT_LANGUAGE = 'en-us'
133HTTP_AUTHORIZATION = 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6Im1hdGVqIiwiZXhwIjoxNTU0MTIzNTg2LCJlbWFpbCI6ImhhaG4ubWF0ZWpAZ21haWwuY29tIiwib3JpZ19pYXQiOjE1NTQwMzcxODYsImZpcnN0X25hbWUiOiJNYXRlaiIsImxhc3RfbmFtZSI6IkhhaG4iLCJpc19zdGFmZiI6dHJ1ZSwiaXNfc3VwZXJ1c2VyIjp0cnVlLCJpc19tYWludGVuYW5jZSI6ZmFsc2V9.6JbJLbJvRFRMzlnBSoTYE7WU38TRUOqhAcpPKqiWVDY'
134HTTP_CONNECTION = 'close'
135HTTP_CONNECT_TIME = '1'
136HTTP_HOST = 'ops4-backend-staging.herokuapp.com'
137HTTP_ORIGIN = 'http://localhost:3000'
138HTTP_REFERER = 'http://localhost:3000/'
139HTTP_TOTAL_ROUTE_TIME = '0'
140HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15'
141HTTP_VIA = '1.1 vegur'
142HTTP_X_FORWARDED_FOR = '89.142.103.33'
143HTTP_X_FORWARDED_PORT = '443'
144HTTP_X_FORWARDED_PROTO = 'https'
145HTTP_X_REQUEST_ID = '9de16e1e-7999-431e-ae61-7b058ed13e28'
146HTTP_X_REQUEST_START = '1554116378305'
147PATH_INFO = '/api/rentals/321/return/'
148QUERY_STRING = ''
149RAW_URI = '/api/rentals/321/return/'
150REMOTE_ADDR = '10.97.169.34'
151REMOTE_PORT = '17142'
152REQUEST_METHOD = 'PATCH'
153SCRIPT_NAME = ''
154SERVER_NAME = '0.0.0.0'
155SERVER_PORT = '35271'
156SERVER_PROTOCOL = 'HTTP/1.1'
157SERVER_SOFTWARE = 'gunicorn/19.8.1'
158gunicorn.socket = <socket.socket fd=13, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.16.77.18', 35271), raddr=('10.97.169.34', 17142)>
159wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7ff6d055ef98>
160wsgi.file_wrapper = ''
161wsgi.input = <newrelic.api.web_transaction._WSGIInputWrapper object at 0x7ff6d097c5f8>
162wsgi.multiprocess = True
163wsgi.multithread = False
164wsgi.run_once = False
165wsgi.url_scheme = 'https'
166wsgi.version = '(1, 0)'
167
168Settings:
169Using settings module ops4_backend.settings
170ABSOLUTE_URL_OVERRIDES = {}
171ADMINS = []
172ALGOLIA = {'APPLICATION_ID': 'H7N8OPI3TN', 'API_KEY': '********************', 'SEARCH_API_KEY': '********************', 'INDEX_PREFIX': 'ops4', 'INDEX_SUFFIX': 'backend_dev', 'AUTO_INDEXING': False}
173ALLOWED_HOSTS = ['127.0.0.1', 'localhost:3000', 'localhost:8000', 'localhost', 'ops4-backend-production.herokuapp.com', 'ops4-backend-staging.herokuapp.com', 'ops4-dashboard.herokuapp.com', 'sally-short-url.herokuapp.com', 'ops4-backend-demo.herokuapp.com']
174API_TOKENS = '********************'
175APPEND_SLASH = True
176AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
177AUTH_PASSWORD_VALIDATORS = '********************'
178AUTH_USER_MODEL = 'authentication.SallyUser'
179AWS_ACCESS_KEY_ID = '********************'
180AWS_DYNAMO = {'ACCESS_KEY_ID': '********************', 'SECRET_ACCESS_KEY': '********************'}
181AWS_S3_CUSTOM_DOMAIN = None
182AWS_SECRET_ACCESS_KEY = '********************'
183AWS_STORAGE_BUCKET_NAME = 'ops4.5-staging-bucket'
184BACKGROUND_TASKS = {}
185BASE_DIR = '/app'
186CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://:nvUyDztpJMBwlG69Wh0y96SKANbXTUsK@redis-11551.c17.us-east-1-4.ec2.cloud.redislabs.com:11551', 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
187CACHE_MIDDLEWARE_ALIAS = 'default'
188CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
189CACHE_MIDDLEWARE_SECONDS = 600
190CALAMP = {'USERNAME': 'WNG036166-m2m-user', 'PASSWORD': '********************', 'APP_TOKEN': '********************', 'HOST': 'https://connect.calamp.com', 'ACCOUNT_ID': '1587'}
191CELERY_ACCEPT_CONTENT = ['application/json']
192CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
193CELERY_BROKER_HEARTBEAT = 0
194CELERY_BROKER_URL = 'amqp://kdvtqedb:VplYOt6FBCgxk1SrXuDrbfvXFH-9u4xX@skunk.rmq.cloudamqp.com/kdvtqedb'
195CELERY_ENABLE_UTC = True
196CELERY_RESULT_BACKEND = 'django-db'
197CELERY_RESULT_SERIALIZER = 'json'
198CELERY_TASK_CREATE_MISSING_QUEUES = True
199CELERY_TASK_SERIALIZER = 'json'
200CELERY_TIMEZONE = 'UTC'
201CORS_ALLOW_HEADERS = "('accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'apikey', 'http_apikey', 'x-cards-apikey')"
202CORS_ORIGIN_ALLOW_ALL = True
203CSRF_COOKIE_AGE = 31449600
204CSRF_COOKIE_DOMAIN = None
205CSRF_COOKIE_HTTPONLY = False
206CSRF_COOKIE_NAME = 'csrftoken'
207CSRF_COOKIE_PATH = '/'
208CSRF_COOKIE_SAMESITE = 'Lax'
209CSRF_COOKIE_SECURE = False
210CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
211CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
212CSRF_TRUSTED_ORIGINS = []
213CSRF_USE_SESSIONS = False
214DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'd1etoch6in7dc7', 'USER': 'u5cqgpstukqncm', 'PASSWORD': '********************', 'HOST': 'ec2-3-208-200-86.compute-1.amazonaws.com', 'PORT': 5432, 'CONN_MAX_AGE': 500, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
215DATABASE_ROUTERS = []
216DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
217DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
218DATETIME_FORMAT = 'N j, Y, P'
219DATETIME_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']
220DATE_FORMAT = 'N j, Y'
221DATE_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']
222DEBUG = True
223DEBUG_PROPAGATE_EXCEPTIONS = False
224DECIMAL_SEPARATOR = '.'
225DEFAULT_CHARSET = 'utf-8'
226DEFAULT_CONTENT_TYPE = 'text/html'
227DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
228DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
229DEFAULT_FROM_EMAIL = 'join@drivesally.com'
230DEFAULT_INDEX_TABLESPACE = ''
231DEFAULT_TABLESPACE = ''
232DISALLOWED_USER_AGENTS = []
233DROPBOX = 'vlXgFTXkSUAAAAAAAAAAGIJAdEQBPLJJch2Arp8FwtVSxmUgMXyi1kfo3rGDKiQT'
234EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
235EMAIL_HOST = 'smtp.mailgun.org'
236EMAIL_HOST_PASSWORD = '********************'
237EMAIL_HOST_USER = 'postmaster@mailgun.drivesally.com'
238EMAIL_PORT = 587
239EMAIL_SSL_CERTFILE = None
240EMAIL_SSL_KEYFILE = '********************'
241EMAIL_SUBJECT_PREFIX = '[Django] '
242EMAIL_TIMEOUT = None
243EMAIL_USE_LOCALTIME = False
244EMAIL_USE_SSL = False
245EMAIL_USE_TLS = True
246FILE_CHARSET = 'utf-8'
247FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
248FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
249FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
250FILE_UPLOAD_PERMISSIONS = None
251FILE_UPLOAD_TEMP_DIR = None
252FIRST_DAY_OF_WEEK = 0
253FIXTURE_DIRS = []
254FORCE_SCRIPT_NAME = None
255FORMAT_MODULE_PATH = None
256FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
257GOLDSTAR = {'USERNAME': '', 'PASSWORD': '********************'}
258GOOGLE = {'SERVICE_ACCOUNT_FILENAME': '', 'SPREADSHEET_ID': ''}
259IGNORABLE_404_URLS = []
260INSTALLED_APPS = ['authentication.apps.AuthenticationConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'rest_framework.authtoken', 'rest_auth', 'rest_framework_jwt', 'debug_toolbar', 'corsheaders', 'raven.contrib.django.raven_compat', 'algoliasearch_django', 'django_celery_results', 'django_celery_beat', 'storages', 'django_filters', 'core', 'documents.apps.DocumentsConfig', 'drivers.apps.DriversConfig', 'invoice_generation.apps.InvoiceGenerationConfig', 'maintenance', 'payments.apps.PaymentConfig', 'rentals.apps.RentalsConfig', 'reports.apps.ReportsConfig', 'tickets', 'vehicles.apps.VehiclesConfig', 'alerts', 'notifications', 'health_check', 'health_check.db', 'health_check.contrib.celery', 'health_check.contrib.s3boto3_storage']
261INTERNAL_IPS = ['localhost', '127.0.0.1', 'ops4-backend-production.herokuapp.com']
262JWT_AUTH = {'JWT_ALLOW_REFRESH': True, 'JWT_PAYLOAD_HANDLER': 'authentication.jwt_handler.jwt_payload_handler', 'JWT_VERIFY_EXPIRATION': True, 'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(7)}
263KUSTOMER = {'API_KEY': '********************'}
264LANGUAGES = [('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'), ('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')]
265LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
266LANGUAGE_CODE = 'en-us'
267LANGUAGE_COOKIE_AGE = None
268LANGUAGE_COOKIE_DOMAIN = None
269LANGUAGE_COOKIE_NAME = 'django_language'
270LANGUAGE_COOKIE_PATH = '/'
271LOCALE_PATHS = []
272LOGGING = {'version': 1, 'disable_existing_loggers': True, 'root': {'level': 'WARNING', 'handlers': ['sentry']}, 'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'}}, 'handlers': {'sentry': {'level': 'ERROR', 'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler', 'tags': {'custom-tag': 'x'}}, 'console': {'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'verbose'}}, 'loggers': {'django.db.backends': {'level': 'ERROR', 'handlers': ['console'], 'propagate': False}, 'raven': {'level': 'DEBUG', 'handlers': ['console'], 'propagate': False}, 'sentry.errors': {'level': 'DEBUG', 'handlers': ['console'], 'propagate': False}}}
273LOGGING_CONFIG = 'logging.config.dictConfig'
274LOGIN_REDIRECT_URL = '/accounts/profile/'
275LOGIN_URL = '/accounts/login/'
276LOGOUT_REDIRECT_URL = None
277MANAGERS = []
278MEDIA_ROOT = ''
279MEDIA_URL = ''
280MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
281MIDDLEWARE = ['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware', 'raven.contrib.django.middleware.SentryMiddleware', 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'raven.contrib.django.raven_compat.middleware.SentryResponseErrorIdMiddleware', 'django.middleware.locale.LocaleMiddleware', 'corsheaders.middleware.CorsMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware', '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']
282MIGRATION = {'HOST': 'https://ops4-staging.herokuapp.com', 'USERNAME': 'mitchell', 'PASSWORD': '********************', 'PRODUCTION': False}
283MIGRATION_MODULES = {}
284MONTH_DAY_FORMAT = 'F j'
285NUMBER_GROUPING = 0
286OLD_PASSWORD_FIELD_ENABLED = '********************'
287PASSWORD_HASHERS = '********************'
288PASSWORD_RESET_TIMEOUT_DAYS = '********************'
289PREPEND_WWW = False
290RAVEN_CONFIG = {'dsn': 'https://06c1a605217f4cedb7e6962fb6c68c4a:1da7b9388f964e93bf0b7aa2b7d77542@sentry.io/1234211'}
291REST_AUTH_SERIALIZERS = {'PASSWORD_RESET_SERIALIZER': '********************'}
292REST_FRAMEWORK = {'UNICODE_JSON': True, 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.LimitOffsetPagination', 'PAGE_SIZE': 20, 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',), 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_jwt.authentication.JSONWebTokenAuthentication',), 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer')}
293REST_USE_JWT = True
294ROOT_URLCONF = 'ops4_backend.urls'
295SECRET_KEY = '********************'
296SECURE_BROWSER_XSS_FILTER = False
297SECURE_CONTENT_TYPE_NOSNIFF = False
298SECURE_HSTS_INCLUDE_SUBDOMAINS = False
299SECURE_HSTS_PRELOAD = False
300SECURE_HSTS_SECONDS = 0
301SECURE_PROXY_SSL_HEADER = None
302SECURE_REDIRECT_EXEMPT = []
303SECURE_SSL_HOST = None
304SECURE_SSL_REDIRECT = True
305SERVER_EMAIL = 'root@localhost'
306SESSION_CACHE_ALIAS = 'default'
307SESSION_COOKIE_AGE = 1209600
308SESSION_COOKIE_DOMAIN = None
309SESSION_COOKIE_HTTPONLY = True
310SESSION_COOKIE_NAME = 'sessionid'
311SESSION_COOKIE_PATH = '/'
312SESSION_COOKIE_SAMESITE = 'Lax'
313SESSION_COOKIE_SECURE = False
314SESSION_ENGINE = 'django.contrib.sessions.backends.db'
315SESSION_EXPIRE_AT_BROWSER_CLOSE = False
316SESSION_FILE_PATH = None
317SESSION_SAVE_EVERY_REQUEST = False
318SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
319SETTINGS_MODULE = 'ops4_backend.settings'
320SHORT_DATETIME_FORMAT = 'm/d/Y P'
321SHORT_DATE_FORMAT = 'm/d/Y'
322SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
323SILENCED_SYSTEM_CHECKS = []
324SLACK = {'CARDS': 'https://hooks.slack.com/services/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', 'PAYMENTS': 'https://hooks.slack.com/services/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', 'TURNOVER': 'https://hooks.slack.com/services/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', 'REPORTS': '', 'TICKETS': '', 'LEADS': ' https://hooks.slack.com/services/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', 'CALAMP': 'https://hooks.slack.com/services/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'}
325STATICFILES_DIRS = ['/app/static_folder/']
326STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
327STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
328STATIC_ROOT = '/app/static_media/'
329STATIC_URL = '/static/'
330STRIPE = {'API_KEY': '********************'}
331TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/templates'], 'APP_DIRS': True, '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']}}]
332TEST_NON_SERIALIZED_APPS = []
333TEST_RUNNER = 'django.test.runner.DiscoverRunner'
334THOUSAND_SEPARATOR = ','
335TIME_FORMAT = 'P'
336TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
337TIME_ZONE = 'UTC'
338TWILIO = {'ACCOUNT_SID': 'AC79d156e5f482c539448bcf64fc1c9cd9', 'ACCOUNT_TOKEN': '********************', 'FROM_NUMBER': '+16468872559', 'MESSAGING_SERVICE_SID': 'MG91ba4f96828f14f485ea482850668a1a'}
339USE_I18N = True
340USE_L10N = True
341USE_THOUSAND_SEPARATOR = False
342USE_TZ = True
343USE_X_FORWARDED_HOST = False
344USE_X_FORWARDED_PORT = False
345VEHICLE_TRACK_FIELDS = ['plate', 'dashcam_serial', 'calamp_device_id', 'spireon_serial', 'emissions_expiry', 'registration_expiry', 'fhv_license_expiry']
346WSGI_APPLICATION = 'ops4_backend.wsgi.application'
347X_FRAME_OPTIONS = 'SAMEORIGIN'
348YEAR_MONTH_FORMAT = 'F Y'
349
350
351You're seeing this error because you have DEBUG = True in your
352Django settings file. Change that to False, and Django will
353display a standard page generated by the handler for this status code.