· 8 years ago · Aug 22, 2017, 04:28 PM
1TypeError at /api/vehicles/
2unsupported operand type(s) for +: 'NoneType' and 'str'
3
4Request Method: POST
5Request URL: https://ops4-staging.herokuapp.com/api/vehicles/
6Django Version: 1.10.6
7Python Executable: /app/.heroku/python/bin/python
8Python Version: 2.7.13
9Python Path: ['/app', '/app/ops4', '/app/.heroku/python/bin', '/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']
10Server time: Tue, 22 Aug 2017 16:24:26 +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 'rest_framework.authtoken',
20 'rest_auth',
21 'corsheaders',
22 'rest_framework_tracking',
23 'rest_framework_docs',
24 'rest_framework_csv',
25 'drivers',
26 'driver_state_history',
27 'vehicles',
28 'rentals',
29 'core',
30 'global_search',
31 'assignments',
32 'corporations',
33 'payments',
34 'users']
35Installed Middleware:
36['django.middleware.security.SecurityMiddleware',
37 'corsheaders.middleware.CorsMiddleware',
38 'whitenoise.middleware.WhiteNoiseMiddleware',
39 'django.contrib.sessions.middleware.SessionMiddleware',
40 'django.middleware.common.CommonMiddleware',
41 'django.middleware.csrf.CsrfViewMiddleware',
42 'django.contrib.auth.middleware.AuthenticationMiddleware',
43 'django.contrib.messages.middleware.MessageMiddleware',
44 'django.middleware.clickjacking.XFrameOptionsMiddleware']
45
46
47Traceback:
48
49File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/exception.py" in inner
50 42. response = get_response(request)
51
52File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
53 187. response = self.process_exception_by_middleware(e, request)
54
55File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in _get_response
56 185. response = wrapped_callback(request, *callback_args, **callback_kwargs)
57
58File "/app/.heroku/python/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
59 58. return view_func(*args, **kwargs)
60
61File "/app/.heroku/python/lib/python2.7/site-packages/django/views/generic/base.py" in view
62 68. return self.dispatch(request, *args, **kwargs)
63
64File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
65 483. response = self.handle_exception(exc)
66
67File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework_tracking/mixins.py" in handle_exception
68 82. response = super(LoggingMixin, self).handle_exception(exc)
69
70File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/views.py" in handle_exception
71 443. self.raise_uncaught_exception(exc)
72
73File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
74 480. response = handler(request, *args, **kwargs)
75
76File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/generics.py" in post
77 243. return self.create(request, *args, **kwargs)
78
79File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/mixins.py" in create
80 21. self.perform_create(serializer)
81
82File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/mixins.py" in perform_create
83 26. serializer.save()
84
85File "/app/.heroku/python/lib/python2.7/site-packages/rest_framework/serializers.py" in save
86 214. self.instance = self.create(validated_data)
87
88File "/app/vehicles/serializers.py" in create
89 36. vehicle.svid = vehicle.name + '_' + vehicle.vin[-6:]
90
91Exception Type: TypeError at /api/vehicles/
92Exception Value: unsupported operand type(s) for +: 'NoneType' and 'str'
93Request information:
94USER: matej
95
96GET: No GET data
97
98POST: No POST data
99
100FILES: No FILES data
101
102COOKIES: No cookie data
103
104META:
105CONTENT_LENGTH = '302'
106CONTENT_TYPE = 'application/json'
107HTTP_ACCEPT = '*/*'
108HTTP_ACCEPT_ENCODING = 'gzip, deflate'
109HTTP_ACCEPT_LANGUAGE = 'en-us'
110HTTP_AUTHORIZATION = 'JWT eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MDM1MDUwODgsImVtYWlsIjoiaGFobi5tYXRlakBnbWFpbC5jb20iLCJ1c2VyX2lkIjoyLCJvcmlnX2lhdCI6MTUwMzQxODEzMiwidXNlcm5hbWUiOiJtYXRlaiJ9.QFIsRI63UkQyps9_F8OKMh7eerb1CyYU_XuSqmt57yk'
111HTTP_CONNECTION = 'close'
112HTTP_CONNECT_TIME = '1'
113HTTP_HOST = 'ops4-staging.herokuapp.com'
114HTTP_ORIGIN = 'http://localhost:3000'
115HTTP_REFERER = 'http://localhost:3000/fleet'
116HTTP_TOTAL_ROUTE_TIME = '0'
117HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8'
118HTTP_VIA = '1.1 vegur'
119HTTP_X_FORWARDED_FOR = '195.210.234.38'
120HTTP_X_FORWARDED_PORT = '443'
121HTTP_X_FORWARDED_PROTO = 'https'
122HTTP_X_REQUEST_ID = '2af1ae07-a822-4213-a842-fc920636ab06'
123HTTP_X_REQUEST_START = '1503419066189'
124PATH_INFO = u'/api/vehicles/'
125QUERY_STRING = ''
126RAW_URI = '/api/vehicles/'
127REMOTE_ADDR = '10.155.8.85'
128REMOTE_PORT = '25047'
129REQUEST_METHOD = 'POST'
130SCRIPT_NAME = u''
131SERVER_NAME = '0.0.0.0'
132SERVER_PORT = '30924'
133SERVER_PROTOCOL = 'HTTP/1.1'
134SERVER_SOFTWARE = 'gunicorn/19.7.1'
135gunicorn.socket = <socket._socketobject object at 0x7fafd25d6fa0>
136wsgi.errors = <gunicorn.http.wsgi.WSGIErrorsWrapper object at 0x7fafd20f0bd0>
137wsgi.file_wrapper = ''
138wsgi.input = <gunicorn.http.body.Body object at 0x7fafd20f0b50>
139wsgi.multiprocess = True
140wsgi.multithread = False
141wsgi.run_once = False
142wsgi.url_scheme = 'https'
143wsgi.version =
144
145Settings:
146Using settings module ops4.settings
147ABSOLUTE_URL_OVERRIDES = {}
148ADMINS = []
149ALLOWED_HOSTS = ['*']
150APPEND_SLASH = True
151AUTHENTICATION_BACKENDS = [u'django.contrib.auth.backends.ModelBackend']
152AUTH_PASSWORD_VALIDATORS = u'********************'
153AUTH_USER_MODEL = u'auth.User'
154BASE_DIR = '/app'
155CACHES = {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}}
156CACHE_MIDDLEWARE_ALIAS = u'default'
157CACHE_MIDDLEWARE_KEY_PREFIX = u'********************'
158CACHE_MIDDLEWARE_SECONDS = 600
159CORS_ORIGIN_ALLOW_ALL = True
160CORS_ORIGIN_WHITELIST =
161CSRF_COOKIE_AGE = 31449600
162CSRF_COOKIE_DOMAIN = None
163CSRF_COOKIE_HTTPONLY = False
164CSRF_COOKIE_NAME = u'csrftoken'
165CSRF_COOKIE_PATH = u'/'
166CSRF_COOKIE_SECURE = False
167CSRF_FAILURE_VIEW = u'django.views.csrf.csrf_failure'
168CSRF_HEADER_NAME = u'HTTP_X_CSRFTOKEN'
169CSRF_TRUSTED_ORIGINS = []
170DATABASES = {'default': {'HOST': 'ec2-23-21-169-238.compute-1.amazonaws.com', 'USER': 'orpumpxhzzsmev', 'TIME_ZONE': None, 'AUTOCOMMIT': True, 'PORT': 5432, 'TEST': {'CHARSET': None, 'NAME': None, 'MIRROR': None, 'COLLATION': None}, 'PASSWORD': u'********************', 'NAME': 'da84fss21mvpal', 'CONN_MAX_AGE': 500, 'OPTIONS': {}, 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'ATOMIC_REQUESTS': False}}
171DATABASE_ROUTERS = []
172DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
173DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
174DATETIME_FORMAT = u'N j, Y, P'
175DATETIME_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']
176DATE_FORMAT = u'N j, Y'
177DATE_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']
178DEBUG = True
179DEBUG_PROPAGATE_EXCEPTIONS = False
180DECIMAL_SEPARATOR = u'.'
181DEFAULT_CHARSET = u'utf-8'
182DEFAULT_CONTENT_TYPE = u'text/html'
183DEFAULT_EXCEPTION_REPORTER_FILTER = u'django.views.debug.SafeExceptionReporterFilter'
184DEFAULT_FILE_STORAGE = u'django.core.files.storage.FileSystemStorage'
185DEFAULT_FROM_EMAIL = u'webmaster@localhost'
186DEFAULT_INDEX_TABLESPACE = u''
187DEFAULT_TABLESPACE = u''
188DISALLOWED_USER_AGENTS = []
189EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
190EMAIL_HOST = 'smtp.sendgrid.net'
191EMAIL_HOST_PASSWORD = u'********************'
192EMAIL_HOST_USER = 'app65899924@heroku.com'
193EMAIL_PORT = 587
194EMAIL_SSL_CERTFILE = None
195EMAIL_SSL_KEYFILE = u'********************'
196EMAIL_SUBJECT_PREFIX = u'[Django] '
197EMAIL_TIMEOUT = None
198EMAIL_USE_SSL = False
199EMAIL_USE_TLS = True
200FILE_CHARSET = u'utf-8'
201FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
202FILE_UPLOAD_HANDLERS = [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler']
203FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
204FILE_UPLOAD_PERMISSIONS = None
205FILE_UPLOAD_TEMP_DIR = None
206FIRST_DAY_OF_WEEK = 0
207FIXTURE_DIRS = []
208FORCE_SCRIPT_NAME = None
209FORMAT_MODULE_PATH = None
210IGNORABLE_404_URLS = []
211INSTALLED_APPS = ['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', 'corsheaders', 'rest_framework_tracking', 'rest_framework_docs', 'rest_framework_csv', 'drivers', 'driver_state_history', 'vehicles', 'rentals', 'core', 'global_search', 'assignments', 'corporations', 'payments', 'users']
212INTERNAL_IPS = []
213JWT_AUTH = {'JWT_VERIFY_EXPIRATION': True, 'JWT_ALLOW_REFRESH': True, 'JWT_EXPIRATION_DELTA': datetime.timedelta(1), 'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(7)}
214LANGUAGES = [(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')]
215LANGUAGES_BIDI = [u'he', u'ar', u'fa', u'ur']
216LANGUAGE_CODE = 'en-us'
217LANGUAGE_COOKIE_AGE = None
218LANGUAGE_COOKIE_DOMAIN = None
219LANGUAGE_COOKIE_NAME = u'django_language'
220LANGUAGE_COOKIE_PATH = u'/'
221LOCALE_PATHS = []
222LOGGING = {}
223LOGGING_CONFIG = u'logging.config.dictConfig'
224LOGIN_REDIRECT_URL = u'/accounts/profile/'
225LOGIN_URL = u'/accounts/login/'
226LOGOUT_REDIRECT_URL = None
227MANAGERS = []
228MEDIA_ROOT = u''
229MEDIA_URL = u''
230MESSAGE_STORAGE = u'django.contrib.messages.storage.fallback.FallbackStorage'
231MIDDLEWARE = ['django.middleware.security.SecurityMiddleware', 'corsheaders.middleware.CorsMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', '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']
232MIDDLEWARE_CLASSES = [u'django.middleware.common.CommonMiddleware', u'django.middleware.csrf.CsrfViewMiddleware']
233MIGRATION_MODULES = {}
234MONTH_DAY_FORMAT = u'F j'
235NUMBER_GROUPING = 0
236PASSWORD_HASHERS = u'********************'
237PASSWORD_RESET_TIMEOUT_DAYS = u'********************'
238PREPEND_WWW = False
239REST_FRAMEWORK = {'UNICODE_JSON': True, 'DEFAULT_PERMISSION_CLASSES': ['rest_framework.permissions.IsAuthenticated'], 'DEFAULT_PAGINATION_CLASS': 'core.paginate.ArgumentPagination', 'DEFAULT_RENDERER_CLASSES': ('rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.BrowsableAPIRenderer'), 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.TokenAuthentication'), 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend',), 'PAGE_SIZE': 20}
240REST_USE_JWT = True
241ROOT_URLCONF = 'ops4.urls'
242SECRET_KEY = u'********************'
243SECURE_BROWSER_XSS_FILTER = False
244SECURE_CONTENT_TYPE_NOSNIFF = False
245SECURE_HSTS_INCLUDE_SUBDOMAINS = False
246SECURE_HSTS_SECONDS = 0
247SECURE_PROXY_SSL_HEADER = None
248SECURE_REDIRECT_EXEMPT = []
249SECURE_SSL_HOST = None
250SECURE_SSL_REDIRECT = False
251SERVER_EMAIL = u'root@localhost'
252SESSION_CACHE_ALIAS = u'default'
253SESSION_COOKIE_AGE = 1209600
254SESSION_COOKIE_DOMAIN = None
255SESSION_COOKIE_HTTPONLY = True
256SESSION_COOKIE_NAME = u'sessionid'
257SESSION_COOKIE_PATH = u'/'
258SESSION_COOKIE_SECURE = False
259SESSION_ENGINE = u'django.contrib.sessions.backends.db'
260SESSION_EXPIRE_AT_BROWSER_CLOSE = False
261SESSION_FILE_PATH = None
262SESSION_SAVE_EVERY_REQUEST = False
263SESSION_SERIALIZER = u'django.contrib.sessions.serializers.JSONSerializer'
264SETTINGS_MODULE = 'ops4.settings'
265SHORT_DATETIME_FORMAT = u'm/d/Y P'
266SHORT_DATE_FORMAT = u'm/d/Y'
267SIGNING_BACKEND = u'django.core.signing.TimestampSigner'
268SILENCED_SYSTEM_CHECKS = []
269STAGING = 'TRUE'
270STATICFILES_DIRS = []
271STATICFILES_FINDERS = [u'django.contrib.staticfiles.finders.FileSystemFinder', u'django.contrib.staticfiles.finders.AppDirectoriesFinder']
272STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
273STATIC_ROOT = '/app/static_media/'
274STATIC_URL = '/static/'
275TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/app/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']}, 'APP_DIRS': True}]
276TEST_NON_SERIALIZED_APPS = []
277TEST_RUNNER = u'django.test.runner.DiscoverRunner'
278THOUSAND_SEPARATOR = u','
279TIME_FORMAT = u'P'
280TIME_INPUT_FORMATS = [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M']
281TIME_ZONE = 'UTC'
282USE_ETAGS = False
283USE_I18N = True
284USE_L10N = True
285USE_THOUSAND_SEPARATOR = False
286USE_TZ = True
287USE_X_FORWARDED_HOST = False
288USE_X_FORWARDED_PORT = False
289WSGI_APPLICATION = 'ops4.wsgi.application'
290X_FRAME_OPTIONS = u'SAMEORIGIN'
291YEAR_MONTH_FORMAT = u'F Y'
292
293
294You're seeing this error because you have DEBUG = True in your
295Django settings file. Change that to False, and Django will
296display a standard page generated by the handler for this status code.