· 8 years ago · Nov 28, 2017, 01:02 PM
1AttributeError at /api/drivers/32/card_update/
2'Driver' object has no attribute 'get'
3
4Request Method: POST
5Request URL: http://ops4-staging.herokuapp.com/api/drivers/32/card_update/
6Django Version: 1.11.4
7Python Executable: /app/.heroku/python/bin/python
8Python Version: 2.7.13
9Python Path: ['/app', '/app', '/app/.heroku/python/lib/python27.zip', '/app/.heroku/python/lib/python2.7', '/app/.heroku/python/lib/python2.7/plat-linux2', '/app/.heroku/python/lib/python2.7/lib-tk', '/app/.heroku/python/lib/python2.7/lib-old', '/app/.heroku/python/lib/python2.7/lib-dynload', '/app/.heroku/python/lib/python2.7/site-packages', '/app']
10Server time: Tue, 28 Nov 2017 12:59:01 +0000
11Installed Applications:
12['django.contrib.admin',
13 'django.contrib.auth',
14 'django.contrib.contenttypes',
15 'django.contrib.sessions',
16 'django.contrib.messages',
17 'django.contrib.staticfiles',
18 'rest_framework',
19 'channels',
20 'rest_framework.authtoken',
21 'rest_auth',
22 'corsheaders',
23 'rest_framework_tracking',
24 'rest_framework_docs',
25 'rest_framework_csv',
26 'django_celery_results',
27 'django_celery_beat',
28 'django_filters',
29 'drivers',
30 'driver_state_history',
31 'vehicles',
32 'rentals',
33 'core',
34 'global_search',
35 'assignments',
36 'corporations',
37 'payments',
38 'users',
39 'webhooks',
40 'cards']
41Installed Middleware:
42['django.middleware.security.SecurityMiddleware',
43 'whitenoise.middleware.WhiteNoiseMiddleware',
44 'corsheaders.middleware.CorsMiddleware',
45 'django.contrib.sessions.middleware.SessionMiddleware',
46 'django.middleware.common.CommonMiddleware',
47 'django.middleware.csrf.CsrfViewMiddleware',
48 'django.contrib.auth.middleware.AuthenticationMiddleware',
49 'django.contrib.messages.middleware.MessageMiddleware',
50 'django.middleware.clickjacking.XFrameOptionsMiddleware']
51
52
53Traceback:
54
55File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
56 41. response = get_response(request)
57
58File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
59 187. response = self.process_exception_by_middleware(e, request)
60
61File "/app/.heroku/python/lib/python2.7/site-packages/channels/handler.py" in process_exception_by_middleware
62 243. return super(AsgiHandler, self).process_exception_by_middleware(exception, request)
63
64File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
65 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
66
67File "/app/.heroku/python/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
68 58. return view_func(*args, **kwargs)
69
70File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/base.py" in view
71 68. return self.dispatch(request, *args, **kwargs)
72
73File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
74 489. response = self.handle_exception(exc)
75
76File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/views.py" in handle_exception
77 449. self.raise_uncaught_exception(exc)
78
79File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
80 486. response = handler(request, *args, **kwargs)
81
82File "/app/drivers/views.py" in post
83 526. return Response(data=serializer.data, status=status.HTTP_200_OK)
84
85File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/serializers.py" in data
86 534. ret = super(Serializer, self).data
87
88File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/serializers.py" in data
89 267. self._data = self.get_initial()
90
91File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/serializers.py" in get_initial
92 405. if (field.get_value(self.initial_data) is not empty) and
93
94File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/fields.py" in get_value
95 437. return dictionary.get(self.field_name, empty)
96
97Exception Type: AttributeError at /api/drivers/32/card_update/
98Exception Value: 'Driver' object has no attribute 'get'
99Request information:
100USER: matej
101
102GET: No GET data
103
104POST: No POST data
105
106FILES: No FILES data
107
108COOKIES: No cookie data
109
110META:
111CONTENT_LENGTH = u'13'
112CONTENT_TYPE = u'application/json'
113HTTP_ACCEPT = u'*/*'
114HTTP_ACCEPT_ENCODING = u'br, gzip, deflate'
115HTTP_ACCEPT_LANGUAGE = u'en-us'
116HTTP_AUTHORIZATION = u'JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VybmFtZSI6Im1hdGVqIiwib3JpZ19pYXQiOjE1MTE4NjU3MTMsInVzZXJfaWQiOjIsImVtYWlsIjoiaGFobi5tYXRlakBnbWFpbC5jb20iLCJleHAiOjE1MTE5NjAzMzh9.Rp7tV_FRPBf-zlKRgCKiVpAGtq-qtN0zJOrqpBjq3D8'
117HTTP_CONNECTION = u'close'
118HTTP_CONNECT_TIME = u'0'
119HTTP_HOST = u'ops4-staging.herokuapp.com'
120HTTP_ORIGIN = u'http://localhost:3000'
121HTTP_REFERER = u'http://localhost:3000/customers/32'
122HTTP_TOTAL_ROUTE_TIME = u'0'
123HTTP_USER_AGENT = u'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/604.3.5 (KHTML, like Gecko) Version/11.0.1 Safari/604.3.5'
124HTTP_VIA = u'1.1 vegur'
125HTTP_X_FORWARDED_FOR = u'86.58.68.18'
126HTTP_X_FORWARDED_PORT = u'443'
127HTTP_X_FORWARDED_PROTO = u'https'
128HTTP_X_REQUEST_ID = u'3b5617bb-2ed7-486d-ae9d-266ec6edf922'
129HTTP_X_REQUEST_START = u'1511873940867'
130PATH_INFO = u'/api/drivers/32/card_update/'
131QUERY_STRING = u''
132REMOTE_ADDR = u'10.63.205.178'
133REMOTE_HOST = u'10.63.205.178'
134REMOTE_PORT = 13198
135REQUEST_METHOD = u'POST'
136SCRIPT_NAME = ''
137SERVER_NAME = u'172.17.183.74'
138SERVER_PORT = u'17083'
139wsgi.multiprocess = True
140wsgi.multithread = True
141
142Settings:
143Using settings module ops4.settings
144ABSOLUTE_URL_OVERRIDES = {}
145ADMINS = []
146ALLOWED_HOSTS = ['*']
147APPEND_SLASH = True
148AUTHENTICATION_BACKENDS = [u'django.contrib.auth.backends.ModelBackend']
149AUTH_PASSWORD_VALIDATORS = u'********************'
150AUTH_USER_MODEL = u'auth.User'
151BASE_DIR = '/app'
152CACHES = {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}}
153CACHE_MIDDLEWARE_ALIAS = u'default'
154CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'
155CACHE_MIDDLEWARE_SECONDS = 600
156CELERY_ACCEPT_CONTENT = ['application/json']
157CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
158CELERY_BROKER_URL = 'amqp://jdfpzwbr:gxVi4ozvrf0DzkcjeLF5bQyg_NpgQe5m@mosquito.rmq.cloudamqp.com/jdfpzwbr'
159CELERY_ENABLE_UTC = True
160CELERY_RESULT_BACKEND = 'django-db'
161CELERY_RESULT_SERIALIZER = 'json'
162CELERY_TASK_SERIALIZER = 'json'
163CELERY_TIMEZONE = 'UTC'
164CHANNEL_LAYERS = {'default': {'CONFIG': {'hosts': ['redis://h:p02beaa1be1e33754a8bbba611587beb570077194736d860e0ea41bc2a0647885@ec2-34-236-115-251.compute-1.amazonaws.com:36729']}, 'ROUTING': 'ops4.routing.channel_routing', 'BACKEND': 'asgi_redis.RedisChannelLayer'}}
165CORS_ORIGIN_ALLOW_ALL = True
166CSRF_COOKIE_AGE = 31449600
167CSRF_COOKIE_DOMAIN = None
168CSRF_COOKIE_HTTPONLY = False
169CSRF_COOKIE_NAME = u'csrftoken'
170CSRF_COOKIE_PATH = u'/'
171CSRF_COOKIE_SECURE = False
172CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure'
173CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN'
174CSRF_TRUSTED_ORIGINS = []
175CSRF_USE_SESSIONS = False
176DATABASES = {'default': {'ATOMIC_REQUESTS': False, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'OPTIONS': {}, 'NAME': 'da84fss21mvpal', 'PASSWORD': u'********************', 'TEST': {'COLLATION': None, 'MIRROR': None, 'NAME': None, 'CHARSET': None}, 'PORT': 5432, 'AUTOCOMMIT': True, 'TIME_ZONE': None, 'USER': 'orpumpxhzzsmev', 'HOST': 'ec2-23-21-169-238.compute-1.amazonaws.com', 'CONN_MAX_AGE': 500}}
177DATABASE_ROUTERS = []
178DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
179DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
180DATETIME_FORMAT = u'N j, Y, P'
181DATETIME_INPUT_FORMATS = [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y']
182DATE_FORMAT = u'N j, Y'
183DATE_INPUT_FORMATS = [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y']
184DEBUG = True
185DEBUG_PROPAGATE_EXCEPTIONS = False
186DECIMAL_SEPARATOR = u'.'
187DEFAULT_CHARSET = u'utf-8'
188DEFAULT_CONTENT_TYPE = u'text/html'
189DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter'
190DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage'
191DEFAULT_FROM_EMAIL = u'webmaster@localhost'
192DEFAULT_INDEX_TABLESPACE = u''
193DEFAULT_TABLESPACE = u''
194DISALLOWED_USER_AGENTS = []
195EMAIL_BACKEND = u'django.core.mail.backends.smtp.EmailBackend'
196EMAIL_HOST = 'smtp.sendgrid.net'
197EMAIL_HOST_PASSWORD = u'********************'
198EMAIL_HOST_USER = 'xd7xbphg2256'
199EMAIL_PORT = 587
200EMAIL_SSL_CERTFILE = None
201EMAIL_SSL_KEYFILE = u'********************'
202EMAIL_SUBJECT_PREFIX = u'[Django] '
203EMAIL_TIMEOUT = None
204EMAIL_USE_LOCALTIME = False
205EMAIL_USE_SSL = False
206EMAIL_USE_TLS = True
207FILE_CHARSET = u'utf-8'
208FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
209FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
210FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
211FILE_UPLOAD_PERMISSIONS = None
212FILE_UPLOAD_TEMP_DIR = None
213FIRST_DAY_OF_WEEK = 0
214FIXTURE_DIRS = []
215FORCE_SCRIPT_NAME = None
216FORMAT_MODULE_PATH = None
217FORM_RENDERER = u'django.forms.renderers.DjangoTemplates'
218IGNORABLE_404_URLS = []
219INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'channels', 'rest_framework.authtoken', 'rest_auth', 'corsheaders', 'rest_framework_tracking', 'rest_framework_docs', 'rest_framework_csv', 'django_celery_results', 'django_celery_beat', 'django_filters', 'drivers', 'driver_state_history', 'vehicles', 'rentals', 'core', 'global_search', 'assignments', 'corporations', 'payments', 'users', 'webhooks', 'cards']
220INTERNAL_IPS = ['localhost', '127.0.0.1', 'ops4-turnover.herokuapp.com']
221JWT_AUTH = {'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'JWT_ALLOW_REFRESH': True, 'JWT_VERIFY_EXPIRATION': True, 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(7)}
222LANGUAGES = [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')]
223LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur']
224LANGUAGE_CODE = 'en-us'
225LANGUAGE_COOKIE_AGE = None
226LANGUAGE_COOKIE_DOMAIN = None
227LANGUAGE_COOKIE_NAME = u'django_language'
228LANGUAGE_COOKIE_PATH = u'/'
229LOCALE_PATHS = []
230LOGGING = {}
231LOGGING_CONFIG = u'logging.config.dictConfig'
232LOGIN_REDIRECT_URL = u'/accounts/profile/'
233LOGIN_URL = u'/accounts/login/'
234LOGOUT_REDIRECT_URL = None
235MANAGERS = []
236MEDIA_ROOT = u''
237MEDIA_URL = u''
238MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage'
239MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'corsheaders.middleware.CorsMiddleware', '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']
240MIDDLEWARE_CLASSES = [u'django.middleware.common.CommonMiddleware', u'django.middleware.csrf.CsrfViewMiddleware']
241MIGRATION_MODULES = {}
242MONTH_DAY_FORMAT = u'F j'
243NUMBER_GROUPING = 0
244PASSWORD_HASHERS = u'********************'
245PASSWORD_RESET_TIMEOUT_DAYS = u'********************'
246PREPEND_WWW = False
247REST_FRAMEWORK = {'PAGE_SIZE': 20, 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',), 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_jwt.authentication.JSONWebTokenAuthentication',), 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer'), 'DEFAULT_PAGINATION_CLASS': 'core.paginate.ArgumentPagination', 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'UNICODE_JSON': True}
248REST_USE_JWT = True
249ROOT_URLCONF = 'ops4.urls'
250SECRET_KEY = u'********************'
251SECURE_BROWSER_XSS_FILTER = False
252SECURE_CONTENT_TYPE_NOSNIFF = False
253SECURE_HSTS_INCLUDE_SUBDOMAINS = False
254SECURE_HSTS_PRELOAD = False
255SECURE_HSTS_SECONDS = 0
256SECURE_PROXY_SSL_HEADER = None
257SECURE_REDIRECT_EXEMPT = []
258SECURE_SSL_HOST = None
259SECURE_SSL_REDIRECT = False
260SERVER_EMAIL = u'root@localhost'
261SESSION_CACHE_ALIAS = u'default'
262SESSION_COOKIE_AGE = 1209600
263SESSION_COOKIE_DOMAIN = None
264SESSION_COOKIE_HTTPONLY = True
265SESSION_COOKIE_NAME = u'sessionid'
266SESSION_COOKIE_PATH = u'/'
267SESSION_COOKIE_SECURE = False
268SESSION_ENGINE = u'django.contrib.sessions.backends.db'
269SESSION_EXPIRE_AT_BROWSER_CLOSE = False
270SESSION_FILE_PATH = None
271SESSION_SAVE_EVERY_REQUEST = False
272SESSION_SERIALIZER = u'django.contrib.sessions.serializers.JSONSerializer'
273SETTINGS_MODULE = 'ops4.settings'
274SHORT_DATETIME_FORMAT = u'm/d/Y P'
275SHORT_DATE_FORMAT = u'm/d/Y'
276SIGNING_BACKEND = u'django.core.signing.TimestampSigner'
277SILENCED_SYSTEM_CHECKS = []
278STATICFILES_DIRS = ['/app/static_folder/']
279STATICFILES_FINDERS = [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
280STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
281STATIC_ROOT = '/app/static_media/'
282STATIC_URL = '/static/'
283TEMPLATES = [{'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']}, 'DIRS': ['/app/templates'], 'BACKEND': 'django.template.backends.django.DjangoTemplates'}]
284TEST_NON_SERIALIZED_APPS = []
285TEST_RUNNER = u'django.test.runner.DiscoverRunner'
286THOUSAND_SEPARATOR = u','
287TIME_FORMAT = u'P'
288TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
289TIME_ZONE = 'UTC'
290USE_ETAGS = False
291USE_I18N = True
292USE_L10N = True
293USE_THOUSAND_SEPARATOR = False
294USE_TZ = True
295USE_X_FORWARDED_HOST = False
296USE_X_FORWARDED_PORT = False
297WSGI_APPLICATION = 'ops4.wsgi.application'
298X_FRAME_OPTIONS = u'SAMEORIGIN'
299YEAR_MONTH_FORMAT = u'F Y'
300
301
302You're seeing this error because you have DEBUG = True in your
303Django settings file. Change that to False, and Django will
304display a standard page generated by the handler for this status code.