· 5 years ago · May 24, 2020, 02:02 PM
1TypeError at /api/core/offer/update/6/
2'<' not supported between instances of 'NoneType' and 'datetime.date'
3
4Request Method: PATCH
5Request URL: http://localhost:8000/api/core/offer/update/6/
6Django Version: 2.2.10
7Python Executable: /usr/local/bin/python
8Python Version: 3.7.7
9Python Path: ['/usr/src/app', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', '/usr/local/lib/python3.7/lib-dynload', '/usr/local/lib/python3.7/site-packages']
10Server time: Вс, 24 Май 2020 13:59:23 +0000
11Installed Applications:
12['django_object_actions',
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 'mptt',
20 'rest_framework',
21 'widget_tweaks',
22 'drf_yasg',
23 'corsheaders',
24 'core',
25 'users']
26Installed Middleware:
27['corsheaders.middleware.CorsMiddleware',
28 'django.middleware.security.SecurityMiddleware',
29 'django.contrib.sessions.middleware.SessionMiddleware',
30 'django.middleware.locale.LocaleMiddleware',
31 'django.middleware.common.CommonMiddleware',
32 'django.middleware.csrf.CsrfViewMiddleware',
33 'django.contrib.auth.middleware.AuthenticationMiddleware',
34 'django.contrib.messages.middleware.MessageMiddleware',
35 'django.middleware.clickjacking.XFrameOptionsMiddleware']
36
37
38Traceback:
39
40File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
41 34. response = get_response(request)
42
43File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
44 115. response = self.process_exception_by_middleware(e, request)
45
46File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
47 113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
48
49File "/usr/local/lib/python3.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
50 54. return view_func(*args, **kwargs)
51
52File "/usr/local/lib/python3.7/site-packages/django/views/generic/base.py" in view
53 71. return self.dispatch(request, *args, **kwargs)
54
55File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in dispatch
56 505. response = self.handle_exception(exc)
57
58File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in handle_exception
59 465. self.raise_uncaught_exception(exc)
60
61File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in raise_uncaught_exception
62 476. raise exc
63
64File "/usr/local/lib/python3.7/site-packages/rest_framework/views.py" in dispatch
65 502. response = handler(request, *args, **kwargs)
66
67File "/usr/local/lib/python3.7/site-packages/rest_framework/generics.py" in patch
68 229. return self.partial_update(request, *args, **kwargs)
69
70File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py" in partial_update
71 82. return self.update(request, *args, **kwargs)
72
73File "/usr/local/lib/python3.7/site-packages/rest_framework/mixins.py" in update
74 67. serializer.is_valid(raise_exception=True)
75
76File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in is_valid
77 234. self._validated_data = self.run_validation(self.initial_data)
78
79File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in run_validation
80 433. value = self.to_internal_value(data)
81
82File "/usr/local/lib/python3.7/site-packages/rest_framework/serializers.py" in to_internal_value
83 492. validated_value = validate_method(validated_value)
84
85File "/usr/src/app/core/serializers/product.py" in validate_port_eta_planned_from
86 90. return date_field_validation(value)
87
88File "/usr/src/app/core/serializers/product.py" in date_field_validation
89 10. if field_value < timezone.now().date():
90
91Exception Type: TypeError at /api/core/offer/update/6/
92Exception Value: '<' not supported between instances of 'NoneType' and 'datetime.date'
93Request information:
94USER: supplier@supplier.ru
95
96GET: No GET data
97
98POST: No POST data
99
100FILES: No FILES data
101
102COOKIES: No cookie data
103
104META:
105CONTENT_LENGTH = '801'
106CONTENT_TYPE = 'application/json;charset=UTF-8'
107DATABASE_URL = 'psql://admin_import:a43b44c45@db:5432/import'
108DEBUG = '1'
109DJANGO_ALLOWED_HOSTS = 'localhost 127.0.0.1 [::1]'
110DJANGO_SETTINGS_MODULE = 'import.settings'
111GATEWAY_INTERFACE = 'CGI/1.1'
112GPG_KEY = '0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D'
113HOME = '/root'
114HOSTNAME = '4d5264dd8b9b'
115HTTP_ACCEPT = 'application/json, text/plain, */*'
116HTTP_ACCEPT_ENCODING = 'gzip, deflate, br'
117HTTP_ACCEPT_LANGUAGE = 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
118HTTP_AUTHORIZATION = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyLCJ1c2VybmFtZSI6InN1cHBsaWVyQHN1cHBsaWVyLnJ1IiwiZXhwIjoxNTkwMzMxMDU2LCJlbWFpbCI6InN1cHBsaWVyQHN1cHBsaWVyLnJ1In0.gP5QznNang89t7EB0bSu2G28N7ItNPR-_VCtth7z8nI'
119HTTP_CONNECTION = 'keep-alive'
120HTTP_DNT = '1'
121HTTP_HOST = 'localhost:8000'
122HTTP_ORIGIN = 'http://localhost:3000'
123HTTP_REFERER = 'http://localhost:3000/supplier/trade/48632'
124HTTP_SEC_FETCH_DEST = 'empty'
125HTTP_SEC_FETCH_MODE = 'cors'
126HTTP_SEC_FETCH_SITE = 'same-site'
127HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
128LANG = 'C.UTF-8'
129PATH = '/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
130PATH_INFO = '/api/core/offer/update/6/'
131PWD = '/usr/src/app'
132PYTHONDONTWRITEBYTECODE = '1'
133PYTHONUNBUFFERED = '1'
134PYTHON_GET_PIP_SHA256 = '421ac1d44c0cf9730a088e337867d974b91bdce4ea2636099275071878cc189e'
135PYTHON_GET_PIP_URL = 'https://github.com/pypa/get-pip/raw/d59197a3c169cef378a22428a3fa99d33e080a5d/get-pip.py'
136PYTHON_PIP_VERSION = '20.0.2'
137PYTHON_VERSION = '3.7.7'
138QUERY_STRING = ''
139REMOTE_ADDR = '172.27.0.1'
140REMOTE_HOST = ''
141REQUEST_METHOD = 'PATCH'
142RUN_MAIN = 'true'
143SCRIPT_NAME = ''
144SECRET_KEY = '6xjhf1z%y0hnfw7mb*p2eq_z7g!i%8f^b6v(=3=_&0h4ak5!#$'
145SERVER_NAME = '4d5264dd8b9b'
146SERVER_PORT = '8000'
147SERVER_PROTOCOL = 'HTTP/1.1'
148SERVER_SOFTWARE = 'WSGIServer/0.2'
149SHLVL = '1'
150TZ = 'UTC'
151wsgi.errors = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>
152wsgi.file_wrapper = ''
153wsgi.input = <django.core.handlers.wsgi.LimitedStream object at 0x7fb63a0e9d90>
154wsgi.multiprocess = False
155wsgi.multithread = True
156wsgi.run_once = False
157wsgi.url_scheme = 'http'
158wsgi.version = '(1, 0)'
159
160Settings:
161Using settings module import.settings
162ABSOLUTE_URL_OVERRIDES = {}
163ADMINS = []
164ALLOWED_FILE_WITH_PRODUCTS_EXTENSIONS = ['.xlsx', '.xlsm', '.xltx', '.xltm', '.xls']
165ALLOWED_HOSTS = ['*']
166ANYMAIL = {'SENDGRID_API_KEY': '********************'}
167APPEND_SLASH = True
168AUTHENTICATION_BACKENDS = ['django.contrib.auth.backends.ModelBackend']
169AUTH_PASSWORD_VALIDATORS = '********************'
170AUTH_USER_MODEL = 'users.User'
171BASE_DIR = '/usr/src/app'
172CACHES = {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
173CACHE_MIDDLEWARE_ALIAS = 'default'
174CACHE_MIDDLEWARE_KEY_PREFIX = '********************'
175CACHE_MIDDLEWARE_SECONDS = 600
176CORS_ORIGIN_ALLOW_ALL = True
177CSRF_COOKIE_AGE = 31449600
178CSRF_COOKIE_DOMAIN = None
179CSRF_COOKIE_HTTPONLY = False
180CSRF_COOKIE_NAME = 'csrftoken'
181CSRF_COOKIE_PATH = '/'
182CSRF_COOKIE_SAMESITE = 'Lax'
183CSRF_COOKIE_SECURE = False
184CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
185CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
186CSRF_TRUSTED_ORIGINS = []
187CSRF_USE_SESSIONS = False
188DATABASES = {'default': {'NAME': 'import', 'USER': 'admin_import', 'PASSWORD': '********************', 'HOST': 'db', 'PORT': 5432, 'ENGINE': 'django.db.backends.postgresql', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
189DATABASE_ROUTERS = []
190DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
191DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
192DATETIME_FORMAT = 'N j, Y, P'
193DATETIME_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']
194DATE_FORMAT = 'N j, Y'
195DATE_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']
196DEBUG = True
197DEBUG_PROPAGATE_EXCEPTIONS = False
198DECIMAL_SEPARATOR = '.'
199DEFAULT_CHARSET = 'utf-8'
200DEFAULT_CONTENT_TYPE = 'text/html'
201DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
202DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
203DEFAULT_FROM_EMAIL = 'webmaster@localhost'
204DEFAULT_INDEX_TABLESPACE = ''
205DEFAULT_TABLESPACE = ''
206DISALLOWED_USER_AGENTS = []
207EMAIL_BACKEND = 'anymail.backends.sendgrid.EmailBackend'
208EMAIL_HOST = 'localhost'
209EMAIL_HOST_PASSWORD = '********************'
210EMAIL_HOST_USER = ''
211EMAIL_PORT = 25
212EMAIL_SSL_CERTFILE = None
213EMAIL_SSL_KEYFILE = '********************'
214EMAIL_SUBJECT_PREFIX = '[Django] '
215EMAIL_TIMEOUT = None
216EMAIL_USE_LOCALTIME = False
217EMAIL_USE_SSL = False
218EMAIL_USE_TLS = False
219FILE_CHARSET = 'utf-8'
220FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
221FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
222FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
223FILE_UPLOAD_PERMISSIONS = None
224FILE_UPLOAD_TEMP_DIR = None
225FIRST_DAY_OF_WEEK = 0
226FIXTURE_DIRS = []
227FORCE_SCRIPT_NAME = None
228FORMAT_MODULE_PATH = None
229FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
230IGNORABLE_404_URLS = []
231INSTALLED_APPS = ['django_object_actions', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'mptt', 'rest_framework', 'widget_tweaks', 'drf_yasg', 'corsheaders', 'core', 'users']
232INTERNAL_IPS = []
233JWT_AUTH = {'JWT_ENCODE_HANDLER': 'rest_framework_jwt.utils.jwt_encode_handler', 'JWT_DECODE_HANDLER': 'rest_framework_jwt.utils.jwt_decode_handler', 'JWT_PAYLOAD_HANDLER': 'rest_framework_jwt.utils.jwt_payload_handler', 'JWT_PAYLOAD_GET_USER_ID_HANDLER': 'rest_framework_jwt.utils.jwt_get_user_id_from_payload_handler', 'JWT_RESPONSE_PAYLOAD_HANDLER': 'rest_framework_jwt.utils.jwt_response_payload_handler', 'JWT_VERIFY': True, 'JWT_VERIFY_EXPIRATION': True, 'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=3000), 'JWT_AUTH_HEADER_PREFIX': 'Bearer'}
234LANGUAGES = "(('en', 'Английский'), ('ru-ru', 'Русский'))"
235LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
236LANGUAGE_CODE = 'ru-ru'
237LANGUAGE_COOKIE_AGE = None
238LANGUAGE_COOKIE_DOMAIN = None
239LANGUAGE_COOKIE_NAME = 'django_language'
240LANGUAGE_COOKIE_PATH = '/'
241LOCALE_PATHS = ['/usr/src/app/locale']
242LOGGING = {}
243LOGGING_CONFIG = 'logging.config.dictConfig'
244LOGIN_REDIRECT_URL = '/admin'
245LOGIN_URL = '/'
246LOGOUT_REDIRECT_URL = '/'
247MANAGERS = []
248MAX_FILE_WITH_PRODUCTS_SIZE = 5242880
249MEDIA_ROOT = ''
250MEDIA_URL = ''
251MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
252MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware']
253MIGRATION_MODULES = {}
254MONTH_DAY_FORMAT = 'F j'
255NUMBER_GROUPING = 0
256PASSWORD_HASHERS = '********************'
257PASSWORD_RESET_TIMEOUT_DAYS = '********************'
258PREPEND_WWW = False
259REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated', 'rest_framework.permissions.IsAdminUser'), 'DEFAULT_AUTHENTICATION_CLASSES': ('rest_framework_jwt.authentication.JSONWebTokenAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.BasicAuthentication')}
260ROOT_URLCONF = 'import.urls'
261SECRET_KEY = '********************'
262SECURE_BROWSER_XSS_FILTER = False
263SECURE_CONTENT_TYPE_NOSNIFF = False
264SECURE_HSTS_INCLUDE_SUBDOMAINS = False
265SECURE_HSTS_PRELOAD = False
266SECURE_HSTS_SECONDS = 0
267SECURE_PROXY_SSL_HEADER = None
268SECURE_REDIRECT_EXEMPT = []
269SECURE_SSL_HOST = None
270SECURE_SSL_REDIRECT = False
271SERVER_EMAIL = 'root@localhost'
272SESSION_CACHE_ALIAS = 'default'
273SESSION_COOKIE_AGE = 1209600
274SESSION_COOKIE_DOMAIN = None
275SESSION_COOKIE_HTTPONLY = True
276SESSION_COOKIE_NAME = 'sessionid'
277SESSION_COOKIE_PATH = '/'
278SESSION_COOKIE_SAMESITE = 'Lax'
279SESSION_COOKIE_SECURE = False
280SESSION_ENGINE = 'django.contrib.sessions.backends.db'
281SESSION_EXPIRE_AT_BROWSER_CLOSE = False
282SESSION_FILE_PATH = None
283SESSION_SAVE_EVERY_REQUEST = False
284SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
285SETTINGS_MODULE = 'import.settings'
286SHORT_DATETIME_FORMAT = 'm/d/Y P'
287SHORT_DATE_FORMAT = 'm/d/Y'
288SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
289SILENCED_SYSTEM_CHECKS = []
290STATICFILES_DIRS = "('/usr/src/app/static',)"
291STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
292STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
293STATIC_ROOT = '/usr/src/app/staticfiles'
294STATIC_URL = '/static/'
295TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/usr/src/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']}}]
296TEST_NON_SERIALIZED_APPS = []
297TEST_RUNNER = 'django.test.runner.DiscoverRunner'
298THOUSAND_SEPARATOR = ','
299TIME_FORMAT = 'P'
300TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
301TIME_ZONE = 'UTC'
302USE_I18N = True
303USE_L10N = True
304USE_THOUSAND_SEPARATOR = False
305USE_TZ = True
306USE_X_FORWARDED_HOST = False
307USE_X_FORWARDED_PORT = False
308WSGI_APPLICATION = 'import.wsgi.application'
309X_FRAME_OPTIONS = 'SAMEORIGIN'
310YEAR_MONTH_FORMAT = 'F Y'
311
312
313You're seeing this error because you have DEBUG = True in your
314Django settings file. Change that to False, and Django will
315display a standard page generated by the handler for this status code.