· 6 years ago · Oct 28, 2019, 01:52 PM
1ProgrammingError at /api/vehicles/turnover/
2column vehicles_vehicle.medallion_id does not exist
3LINE 1: ..._vehicle"."registration_control_number" AS Col81, "vehicles_...
4 ^
5
6
7Request Method: GET
8Request URL: https://george-api-demo.drivesally.com/api/vehicles/turnover/?offset=0&limit=1000
9Django Version: 2.2.4
10Python Executable: /usr/local/bin/python
11Python Version: 3.6.9
12Python Path: ['/app', '/usr/local/bin', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/app']
13Server time: Mon, 28 Oct 2019 13:47:34 +0000
14Installed Applications:
15['authentication.apps.AuthenticationConfig',
16 'django.contrib.admin',
17 'django.contrib.auth',
18 'django.contrib.contenttypes',
19 'django.contrib.sessions',
20 'django.contrib.messages',
21 'django.contrib.staticfiles',
22 'django.contrib.gis',
23 'rest_framework',
24 'rest_framework.authtoken',
25 'rest_auth',
26 'rest_framework_jwt',
27 'debug_toolbar',
28 'corsheaders',
29 'algoliasearch_django',
30 'django_celery_results',
31 'django_celery_beat',
32 'storages',
33 'django_filters',
34 'core',
35 'documents.apps.DocumentsConfig',
36 'drivers.apps.DriversConfig',
37 'invoice_generation.apps.InvoiceGenerationConfig',
38 'maintenance',
39 'payments.apps.PaymentConfig',
40 'rentals.apps.RentalsConfig',
41 'reports.apps.ReportsConfig',
42 'elastic.apps.ElasticConfig',
43 'tickets',
44 'vehicles.apps.VehiclesConfig',
45 'alerts',
46 'notifications',
47 'aircall',
48 'checkin.apps.CheckinConfig',
49 'gas',
50 'samson',
51 'klembot',
52 'medallions',
53 'health_check',
54 'health_check.db',
55 'health_check.contrib.celery',
56 'health_check.contrib.s3boto3_storage',
57 'elasticapm.contrib.django']
58Installed Middleware:
59['elasticapm.contrib.django.middleware.TracingMiddleware',
60 'django.middleware.security.SecurityMiddleware',
61 'whitenoise.middleware.WhiteNoiseMiddleware',
62 'django.middleware.locale.LocaleMiddleware',
63 'corsheaders.middleware.CorsMiddleware',
64 'debug_toolbar.middleware.DebugToolbarMiddleware',
65 'django.contrib.sessions.middleware.SessionMiddleware',
66 'django.middleware.common.CommonMiddleware',
67 'django.middleware.csrf.CsrfViewMiddleware',
68 'django.contrib.auth.middleware.AuthenticationMiddleware',
69 'django.contrib.messages.middleware.MessageMiddleware',
70 'django.middleware.clickjacking.XFrameOptionsMiddleware']
71
72
73Traceback:
74
75File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
76 84. return self.cursor.execute(sql, params)
77
78File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in execute
79 200. return self._trace_sql(self.__wrapped__.execute, sql, params)
80
81File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in _trace_sql
82 220. return method(sql, params)
83
84The above exception (column vehicles_vehicle.medallion_id does not exist
85LINE 1: ..._vehicle"."registration_control_number" AS Col81, "vehicles_...
86 ^
87) was the direct cause of the following exception:
88
89File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
90 34. response = get_response(request)
91
92File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
93 115. response = self.process_exception_by_middleware(e, request)
94
95File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
96 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
97
98File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
99 54. return view_func(*args, **kwargs)
100
101File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py" in view
102 71. return self.dispatch(request, *args, **kwargs)
103
104File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
105 505. response = self.handle_exception(exc)
106
107File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
108 465. self.raise_uncaught_exception(exc)
109
110File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in raise_uncaught_exception
111 476. raise exc
112
113File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
114 502. response = handler(request, *args, **kwargs)
115
116File "/usr/local/lib/python3.6/site-packages/rest_framework/generics.py" in get
117 199. return self.list(request, *args, **kwargs)
118
119File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py" in list
120 40. page = self.paginate_queryset(queryset)
121
122File "/usr/local/lib/python3.6/site-packages/rest_framework/generics.py" in paginate_queryset
123 171. return self.paginator.paginate_queryset(queryset, self.request, view=self)
124
125File "/usr/local/lib/python3.6/site-packages/rest_framework/pagination.py" in paginate_queryset
126 373. self.count = self.get_count(queryset)
127
128File "/usr/local/lib/python3.6/site-packages/rest_framework/pagination.py" in get_count
129 510. return queryset.count()
130
131File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py" in count
132 392. return self.query.get_count(using=self.db)
133
134File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py" in get_count
135 504. number = obj.get_aggregation(using, ['__count'])['__count']
136
137File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/query.py" in get_aggregation
138 489. result = compiler.execute_sql(SINGLE)
139
140File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql
141 1100. cursor.execute(sql, params)
142
143File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in execute
144 99. return super().execute(sql, params)
145
146File "/usr/local/lib/python3.6/site-packages/sentry_sdk/integrations/django/__init__.py" in execute
147 446. return real_execute(self, sql, params)
148
149File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in execute
150 67. return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
151
152File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute_with_wrappers
153 76. return executor(sql, params, many, context)
154
155File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
156 84. return self.cursor.execute(sql, params)
157
158File "/usr/local/lib/python3.6/site-packages/django/db/utils.py" in __exit__
159 89. raise dj_exc_value.with_traceback(traceback) from exc_value
160
161File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py" in _execute
162 84. return self.cursor.execute(sql, params)
163
164File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in execute
165 200. return self._trace_sql(self.__wrapped__.execute, sql, params)
166
167File "/usr/local/lib/python3.6/site-packages/elasticapm/instrumentation/packages/dbapi2.py" in _trace_sql
168 220. return method(sql, params)
169
170Exception Type: ProgrammingError at /api/vehicles/turnover/
171Exception Value: column vehicles_vehicle.medallion_id does not exist
172LINE 1: ..._vehicle"."registration_control_number" AS Col81, "vehicles_...
173 ^
174
175Request information:
176USER: matej
177
178GET:
179offset = '0'
180limit = '1000'
181
182POST: No POST data
183
184FILES: No FILES data
185
186COOKIES: No cookie data
187
188META:
189CONTENT_TYPE = 'application/json'
190HTTP_ACCEPT = 'application/json'
191HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
192HTTP_ACCEPT_LANGUAGE = 'en-GB,en-US;q=0.9,en;q=0.8'
193HTTP_AUTHORIZATION = 'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6Im1hdGVqIiwiZXhwIjoxNTcyMzU2ODM5LCJlbWFpbCI6ImhhaG4ubWF0ZWpAZ21haWwuY29tIiwib3JpZ19pYXQiOjE1NzIyNzA0MzksImZpcnN0X25hbWUiOiJNYXRlaiIsImxhc3RfbmFtZSI6IkhhaG4iLCJpc19zdGFmZiI6dHJ1ZSwiaXNfc3VwZXJ1c2VyIjp0cnVlLCJpc19tYWludGVuYW5jZSI6ZmFsc2UsInBpbiI6IjU1NTUifQ.uUILYttGQIJ2WF-F-7C8vo8K813pegLkccWtMAKvz9Q'
194HTTP_HOST = 'george-api-demo.drivesally.com'
195HTTP_ORIGIN = 'http://localhost:3000'
196HTTP_REFERER = 'http://localhost:3000/'
197HTTP_SEC_FETCH_MODE = 'cors'
198HTTP_SEC_FETCH_SITE = 'cross-site'
199HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36'
200HTTP_X_AMZN_TRACE_ID = 'Root=1-5db6f176-8252ada529945ac3947b7f8e'
201HTTP_X_FORWARDED_FOR = '195.210.243.82'
202HTTP_X_FORWARDED_PORT = '443'
203HTTP_X_FORWARDED_PROTO = 'https'
204PATH_INFO = '/api/vehicles/turnover/'
205QUERY_STRING = 'offset=0&limit=1000'
206RAW_URI = '/api/vehicles/turnover/?offset=0&limit=1000'
207REMOTE_ADDR = '172.21.10.59'
208REMOTE_PORT = '2422'
209REQUEST_METHOD = 'GET'
210SCRIPT_NAME = ''
211SERVER_NAME = '0.0.0.0'
212SERVER_PORT = '8000'
213SERVER_PROTOCOL = 'HTTP/1.1'
214SERVER_SOFTWARE = 'gunicorn/19.8.1'
215gunicorn.socket = <socket.socket fd=15, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('172.17.0.5', 8000), raddr=('172.21.10.59', 2422)>
216wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7f029d5c9438>
217wsgi.file_wrapper = ''
218wsgi.input = <gunicorn.http.body.Body object at 0x7f029d5c9400>
219wsgi.multiprocess = True
220wsgi.multithread = False
221wsgi.run_once = False
222wsgi.url_scheme = 'http'
223wsgi.version = '(1, 0)'
224
225Settings:
226Using settings module ops4_backend.settings
227ABSOLUTE_URL_OVERRIDES = {}
228ADMINS = []
229ALGOLIA = {'APPLICATION_ID': 'H7N8OPI3TN', 'API_KEY': '********************', 'SEARCH_API_KEY': '********************', 'INDEX_PREFIX': 'ops4', 'INDEX_SUFFIX': 'backend_dev', 'AUTO_INDEXING': False}
230ALLOWED_HOSTS = ['127.0.0.1', '0.0.0.0', '0.0.0.0:8000', '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', 'newly-created-demo.drivesally.com', 'sally-office.herokuapp.com', 'george-api-demo.drivesally.com', 'george-api-staging.drivesally.com', 'george-api-production.drivesally.com', '172.21.10.65']
231API_TOKENS = '********************'
232APPEND_SLASH = True
233AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
234AUTH_PASSWORD_VALIDATORS = '********************'
235AUTH_USER_MODEL = 'authentication.SallyUser'
236AWS_ACCESS_KEY_ID = '********************'
237AWS_DEFAULT_ACL = None
238AWS_DYNAMO = {'ACCESS_KEY_ID': '********************', 'SECRET_ACCESS_KEY': '********************'}
239AWS_S3_CUSTOM_DOMAIN = None
240AWS_SECRET_ACCESS_KEY = '********************'
241AWS_STORAGE_BUCKET_NAME = 'ops4.5-staging-bucket'
242BACKGROUND_TASKS = {}
243BASE_DIR = '/app'
244CACHES = {'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'}}}
245CACHE_MIDDLEWARE_ALIAS = 'default'
246CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
247CACHE_MIDDLEWARE_SECONDS = 600
248CALAMP = {'USERNAME': 'DriveSally', 'PASSWORD': '********************', 'APP_TOKEN': '********************', 'HOST': 'https://connect.calamp.com', 'ACCOUNT_ID': '1587'}
249CELERY_ACCEPT_CONTENT = ['application/json']
250CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
251CELERY_BROKER_HEARTBEAT = 0
252CELERY_BROKER_URL = 'amqp://kdvtqedb:VplYOt6FBCgxk1SrXuDrbfvXFH-9u4xX@skunk.rmq.cloudamqp.com/kdvtqedb'
253CELERY_ENABLE_UTC = True
254CELERY_RESULT_BACKEND = 'django-db'
255CELERY_RESULT_SERIALIZER = 'json'
256CELERY_TASK_CREATE_MISSING_QUEUES = True
257CELERY_TASK_SERIALIZER = 'json'
258CELERY_TIMEZONE = 'UTC'
259CORS_ALLOW_HEADERS = "('accept', 'accept-encoding', 'authorization', 'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'apikey', 'sallyapikey', 'http_apikey', 'x-cards-apikey')"
260CORS_ORIGIN_ALLOW_ALL = True
261CSRF_COOKIE_AGE = 31449600
262CSRF_COOKIE_DOMAIN = None
263CSRF_COOKIE_HTTPONLY = False
264CSRF_COOKIE_NAME = 'csrftoken'
265CSRF_COOKIE_PATH = '/'
266CSRF_COOKIE_SAMESITE = 'Lax'
267CSRF_COOKIE_SECURE = False
268CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
269CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
270CSRF_TRUSTED_ORIGINS = []
271CSRF_USE_SESSIONS = False
272DATABASES = {'default': {'NAME': 'ops4', 'USER': 'postgres', 'PASSWORD': '********************', 'HOST': 'george-demo-db.cm2gqjsa9f1x.us-east-2.rds.amazonaws.com', 'PORT': 5432, 'CONN_MAX_AGE': 500, 'ENGINE': 'django.contrib.gis.db.backends.postgis', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
273DATABASE_ROUTERS = []
274DATABASE_URL = 'postgres://postgres:ops4_password@george-demo-db.cm2gqjsa9f1x.us-east-2.rds.amazonaws.com:5432/ops4'
275DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
276DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
277DATETIME_FORMAT = 'N j, Y, P'
278DATETIME_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']
279DATE_FORMAT = 'N j, Y'
280DATE_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']
281DEBUG = True
282DEBUG_PROPAGATE_EXCEPTIONS = False
283DECIMAL_SEPARATOR = '.'
284DEFAULT_CHARSET = 'utf-8'
285DEFAULT_CONTENT_TYPE = 'text/html'
286DEFAULT_EARLY_TERM_FEE = 200.0
287DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
288DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
289DEFAULT_FROM_EMAIL = 'join@drivesally.com'
290DEFAULT_INDEX_TABLESPACE = ''
291DEFAULT_LATE_PAYMENT_FEE = 40.0
292DEFAULT_TABLESPACE = ''
293DEFAULT_TOLL_FEE = 2.0
294DEV_SERVER = False
295DISALLOWED_USER_AGENTS = []
296DROPBOX = 'vlXgFTXkSUAAAAAAAAAAGIJAdEQBPLJJch2Arp8FwtVSxmUgMXyi1kfo3rGDKiQT'
297EC2_IP = '172.21.10.65'
298ELASTIC_APM = {'SERVICE_NAME': 'staging_poc', 'SECRET_TOKEN': '********************', 'SERVER_URL': 'https://abe51f291e194add85afaf7c985edddf.apm.us-east-1.aws.cloud.es.io:443', 'SERVER_TIMEOUT': 'None', 'DEBUG': 'False', 'DJANGO_TRANSACTION_NAME_FROM_ROUTE': True, 'CAPTURE_BODY': 'None', 'TRANSACTIONS_IGNORE_PATTERNS': ['POST vehicles.views.CalampAvlEventView', 'POST api/vehicles/calamp_event/avl/']}
299ELASTIC_LOGSTASH_ENV = 'staging'
300EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
301EMAIL_HOST = 'smtp.mailgun.org'
302EMAIL_HOST_PASSWORD = '********************'
303EMAIL_HOST_USER = 'postmaster@mailgun.drivesally.com'
304EMAIL_PORT = 587
305EMAIL_SSL_CERTFILE = None
306EMAIL_SSL_KEYFILE = '********************'
307EMAIL_SUBJECT_PREFIX = '[Django] '
308EMAIL_TIMEOUT = None
309EMAIL_USE_LOCALTIME = False
310EMAIL_USE_SSL = False
311EMAIL_USE_TLS = True
312ENV = 'None'
313FILE_CHARSET = 'utf-8'
314FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
315FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
316FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
317FILE_UPLOAD_PERMISSIONS = None
318FILE_UPLOAD_TEMP_DIR = None
319FIRST_DAY_OF_WEEK = 0
320FIXTURE_DIRS = []
321FORCE_SCRIPT_NAME = None
322FORMAT_MODULE_PATH = None
323FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
324GDAL_LIBRARY_PATH = ''
325GEOS_LIBRARY_PATH = ''
326GOLDSTAR = {'USERNAME': 'adriel@drivesally.com', 'PASSWORD': '********************'}
327GOOGLE = {'SERVICE_ACCOUNT_FILENAME': '', 'SPREADSHEET_ID': ''}
328IGNORABLE_404_URLS = []
329INSTALLED_APPS = ['authentication.apps.AuthenticationConfig', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.gis', 'rest_framework', 'rest_framework.authtoken', 'rest_auth', 'rest_framework_jwt', 'debug_toolbar', 'corsheaders', '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', 'elastic.apps.ElasticConfig', 'tickets', 'vehicles.apps.VehiclesConfig', 'alerts', 'notifications', 'aircall', 'checkin.apps.CheckinConfig', 'gas', 'samson', 'klembot', 'medallions', 'health_check', 'health_check.db', 'health_check.contrib.celery', 'health_check.contrib.s3boto3_storage', 'elasticapm.contrib.django']
330INTERNAL_IPS = ['localhost', '127.0.0.1', 'ops4-backend-production.herokuapp.com']
331JWT_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)}
332KUSTOMER = {'API_KEY': '********************'}
333LANGUAGES = [('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')]
334LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
335LANGUAGE_CODE = 'en-us'
336LANGUAGE_COOKIE_AGE = None
337LANGUAGE_COOKIE_DOMAIN = None
338LANGUAGE_COOKIE_NAME = 'django_language'
339LANGUAGE_COOKIE_PATH = '/'
340LOCALE_PATHS = []
341LOGGING = {'version': 1, 'disable_existing_loggers': False, 'root': {'level': 'INFO', 'handlers': ['logstash_logs']}, 'formatters': {'verbose': {'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'}}, 'handlers': {'console': {'level': 'INFO', 'class': 'logging.StreamHandler', 'formatter': 'verbose'}, 'file': {'level': 'INFO', 'class': 'logging.FileHandler', 'filename': 'ops4_backend_elastic-staging.log'}, 'logstash_logs': {'level': 'INFO', 'class': 'logstash.TCPLogstashHandler', 'host': 'ec2-54-242-14-150.compute-1.amazonaws.com', 'port': 1514, 'version': 1, 'message_type': 'logstash', 'fqdn': False, 'tags': ['django.request', 'staging']}, 'logstash': {'level': 'INFO', 'class': 'logstash.TCPLogstashHandler', 'host': 'ec2-54-242-14-150.compute-1.amazonaws.com', 'port': 1514, 'version': 1, 'message_type': 'django', 'fqdn': False, 'tags': ['django.request']}}, 'loggers': {'django.db.backends': {'level': 'ERROR', 'handlers': ['console'], 'propagate': False}, 'elastic': {'handlers': ['logstash'], 'level': 'INFO', 'propagate': True}}}
342LOGGING_CONFIG = 'logging.config.dictConfig'
343LOGIN_REDIRECT_URL = '/accounts/profile/'
344LOGIN_URL = '/accounts/login/'
345LOGOUT_REDIRECT_URL = None
346MANAGERS = []
347MEDIA_ROOT = ''
348MEDIA_URL = ''
349MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
350MIDDLEWARE = ['elasticapm.contrib.django.middleware.TracingMiddleware', 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', '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']
351MIGRATION = {'HOST': 'https://ops4-production.herokuapp.com', 'USERNAME': 'mitchell', 'PASSWORD': '********************', 'PRODUCTION': False}
352MIGRATION_MODULES = {}
353MONTH_DAY_FORMAT = 'F j'
354NUMBER_GROUPING = 0
355OLD_PASSWORD_FIELD_ENABLED = '********************'
356PASSWORD_HASHERS = '********************'
357PASSWORD_RESET_TIMEOUT_DAYS = '********************'
358PREPEND_WWW = False
359PRIVACY_POLICY_URL = 'None'
360PROJ4_LIBRARY_PATH = ''
361REQUEST_DEFAULT_TIMEOUT = 15.0
362REST_AUTH_SERIALIZERS = {'PASSWORD_RESET_SERIALIZER': '********************'}
363REST_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')}
364REST_USE_JWT = True
365ROOT_URLCONF = 'ops4_backend.urls'
366SALLY_LOCATIONS = {'SALLY_HQ': (40.7522791, -73.9419402)}
367SECRET_KEY = '********************'
368SECURE_BROWSER_XSS_FILTER = False
369SECURE_CONTENT_TYPE_NOSNIFF = False
370SECURE_HSTS_INCLUDE_SUBDOMAINS = False
371SECURE_HSTS_PRELOAD = False
372SECURE_HSTS_SECONDS = 0
373SECURE_PROXY_SSL_HEADER = "('HTTP_X_FORWARDED_PROTO', 'https')"
374SECURE_REDIRECT_EXEMPT = []
375SECURE_SSL_HOST = None
376SECURE_SSL_REDIRECT = True
377SERVER_EMAIL = 'root@localhost'
378SESSION_CACHE_ALIAS = 'default'
379SESSION_COOKIE_AGE = 1209600
380SESSION_COOKIE_DOMAIN = None
381SESSION_COOKIE_HTTPONLY = True
382SESSION_COOKIE_NAME = 'sessionid'
383SESSION_COOKIE_PATH = '/'
384SESSION_COOKIE_SAMESITE = 'Lax'
385SESSION_COOKIE_SECURE = False
386SESSION_ENGINE = 'django.contrib.sessions.backends.db'
387SESSION_EXPIRE_AT_BROWSER_CLOSE = False
388SESSION_FILE_PATH = None
389SESSION_SAVE_EVERY_REQUEST = False
390SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
391SETTINGS_MODULE = 'ops4_backend.settings'
392SHELL = False
393SHORT_DATETIME_FORMAT = 'm/d/Y P'
394SHORT_DATE_FORMAT = 'm/d/Y'
395SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
396SILENCED_SYSTEM_CHECKS = []
397SLACK = {'GENERAL': 'https://hooks.slack.com/services/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', 'SALLY_CHECK_IN': 'https://hooks.slack.com/services/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', '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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', 'GEORGE_PAYMENTS': 'None', 'FLEX_LEADS': 'None', 'CALAMP': 'https://hooks.slack.com/services/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', 'MAINTENANCE_ALERTS': 'https://hooks.slack.com/services/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', 'WAILING_CHECK_IN': 'None'}
398STATICFILES_DIRS = ['/app/static_folder/']
399STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
400STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
401STATIC_ROOT = '/app/static_media/'
402STATIC_URL = '/static/'
403STRIPE = {'API_KEY': '********************'}
404TEMPLATES = [{'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']}}]
405TESTING = False
406TEST_NON_SERIALIZED_APPS = []
407TEST_RUNNER = 'django.test.runner.DiscoverRunner'
408THOUSAND_SEPARATOR = ','
409TIME_FORMAT = 'P'
410TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
411TIME_ZONE = 'UTC'
412TWILIO = {'ACCOUNT_SID': 'todo', 'ACCOUNT_TOKEN': '********************', 'FROM_NUMBER': 'todo', 'MESSAGING_SERVICE_SID': 'todo'}
413USE_I18N = True
414USE_L10N = True
415USE_THOUSAND_SEPARATOR = False
416USE_TZ = True
417USE_X_FORWARDED_HOST = False
418USE_X_FORWARDED_PORT = False
419VEHICLE_TRACK_FIELDS = ['plate', 'dashcam_serial', 'calamp_device_id', 'spireon_serial', 'emissions_expiry', 'registration_expiry', 'fhv_license_expiry', 'owner', 'vin', 'vehicle_model', 'vehicle_makevehicle_year', 'state']
420VERISK_SFTP_HOST = 'None'
421VERISK_SFTP_PW = 'None'
422VERISK_SFTP_USER = 'None'
423WSGI_APPLICATION = 'ops4_backend.wsgi.application'
424X_FRAME_OPTIONS = 'SAMEORIGIN'
425YEAR_MONTH_FORMAT = 'F Y'
426
427
428You're seeing this error because you have DEBUG = True in your
429Django settings file. Change that to False, and Django will
430display a standard page generated by the handler for this status code.