feat: Модуль "Справочник товаров"
Создать структуру базы данных для товаров:
Поля: наименование, штрих-код, срок годности, размеры, единицы измерения, производитель, категория товара, температурные условия хранения, акции (тип "1+1", "2+1").
Реализовать функционал:
Добавление, редактирование и удаление карточек товаров.
Проверка на дублирование данных (штрих-код).
Валидация данных (например, срок годности).
2 weeks ago
Watching for file changes with StatReloader
Watching for file changes with StatReloader
Watching for file changes with StatReloader
Not Found: /
"GET / HTTP/1.1" 404 2456
Not Found: /goods-reception
"GET /goods-reception HTTP/1.1" 404 2519
"GET /goods-reception/api HTTP/1.1" 301 0
"GET /goods-reception/api/ HTTP/1.1" 200 5454
"GET /static/rest_framework/css/prettify.css HTTP/1.1" 200 817
"GET /static/rest_framework/css/bootstrap-tweaks.css HTTP/1.1" 200 3426
"GET /static/rest_framework/css/default.css HTTP/1.1" 200 1152
"GET /static/rest_framework/js/ajax-form.js HTTP/1.1" 200 3796
"GET /static/rest_framework/js/prettify-min.js HTTP/1.1" 200 13632
"GET /static/rest_framework/css/bootstrap.min.css HTTP/1.1" 200 121457
"GET /static/rest_framework/js/default.js HTTP/1.1" 200 1268
"GET /static/rest_framework/js/csrf.js HTTP/1.1" 200 1793
"GET /static/rest_framework/js/jquery-3.7.1.min.js HTTP/1.1" 200 87533
"GET /static/rest_framework/js/load-ajax-form.js HTTP/1.1" 200 59
"GET /static/rest_framework/js/bootstrap.min.js HTTP/1.1" 200 39680
"GET /static/rest_framework/img/grid.png HTTP/1.1" 200 1458
"GET /goods-reception/api/ HTTP/1.1" 200 5454
"OPTIONS /goods-reception/api/ HTTP/1.1" 200 5662
"GET /goods-reception/api/ HTTP/1.1" 200 5454
Not Found: /goods-reception/swagger
"GET /goods-reception/swagger HTTP/1.1" 404 2637
"GET /api/swagger/ HTTP/1.1" 200 2456
"GET /api/swagger/?format=openapi HTTP/1.1" 200 21094
"GET /goods-reception/api/goods-receptions/ HTTP/1.1" 200 2
"GET /admin/ HTTP/1.1" 200 7189
/Users/darius/Documents/franchise_store/goods_reception/admin.py changed, reloading.
Watching for file changes with StatReloader
"GET /admin/ HTTP/1.1" 200 8161
"GET /admin/goods_reception/goodsreception/ HTTP/1.1" 200 10520
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /static/admin/img/icon-viewlink.svg HTTP/1.1" 200 581
"GET /admin/ HTTP/1.1" 200 8161
"GET /admin/product_directory/product/ HTTP/1.1" 200 11170
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/ HTTP/1.1" 200 8161
"GET /admin/goods_reception/goodsreception/ HTTP/1.1" 200 10520
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/goods_reception/goodsreception/add/ HTTP/1.1" 200 13670
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"POST /admin/goods_reception/goodsreception/add/ HTTP/1.1" 302 0
"GET /admin/goods_reception/goodsreception/ HTTP/1.1" 200 13308
"GET /static/admin/img/icon-no.svg HTTP/1.1" 200 560
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/goods_reception/goodsreception/1/change/ HTTP/1.1" 200 13985
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/goods_reception/goodsreception/ HTTP/1.1" 200 13062
Watching for file changes with StatReloader
"GET /admin/ HTTP/1.1" 200 9417
"GET /admin/ HTTP/1.1" 200 9417
"GET /admin/warehouse/stock/ HTTP/1.1" 200 10410
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/ HTTP/1.1" 200 9417
/Users/darius/Documents/franchise_store/warehouse/models.py changed, reloading.
Watching for file changes with StatReloader
/Users/darius/Documents/franchise_store/warehouse/models.py changed, reloading.
Watching for file changes with StatReloader
/Users/darius/Documents/franchise_store/warehouse/models.py changed, reloading.
Watching for file changes with StatReloader
Watching for file changes with StatReloader
"GET /admin/ HTTP/1.1" 200 10808
"GET /admin/warehouse/storagelocation/ HTTP/1.1" 200 11604
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/storagelocation/add/ HTTP/1.1" 200 13587
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/storagelocation/ HTTP/1.1" 200 11604
"GET /admin/ HTTP/1.1" 200 10808
"GET /admin/warehouse/warehouse/ HTTP/1.1" 200 10710
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/warehouse/add/ HTTP/1.1" 200 12376
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"POST /admin/warehouse/warehouse/add/ HTTP/1.1" 302 0
"GET /admin/warehouse/warehouse/ HTTP/1.1" 200 12695
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/warehouse/1/change/ HTTP/1.1" 200 12651
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/storagelocation/ HTTP/1.1" 200 11604
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/storagelocation/add/ HTTP/1.1" 200 13632
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"POST /admin/warehouse/storagelocation/add/ HTTP/1.1" 302 0
"GET /admin/warehouse/storagelocation/ HTTP/1.1" 200 13712
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 12593
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/add/ HTTP/1.1" 200 19071
"GET /static/admin/js/calendar.js HTTP/1.1" 200 9141
"GET /static/admin/js/admin/DateTimeShortcuts.js HTTP/1.1" 200 19319
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /static/admin/img/icon-calendar.svg HTTP/1.1" 200 1086
"GET /static/admin/img/calendar-icons.svg HTTP/1.1" 200 2455
"POST /admin/warehouse/stockoperation/add/ HTTP/1.1" 302 0
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 15070
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/1/change/ HTTP/1.1" 200 19394
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 14799
Watching for file changes with StatReloader
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 14886
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
Watching for file changes with StatReloader
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 14914
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
/Users/darius/Documents/franchise_store/warehouse/admin.py changed, reloading.
Watching for file changes with StatReloader
/Users/darius/Documents/franchise_store/warehouse/admin.py changed, reloading.
Watching for file changes with StatReloader
/Users/darius/Documents/franchise_store/warehouse/admin.py changed, reloading.
Watching for file changes with StatReloader
Watching for file changes with StatReloader
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 14886
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/statistics/ HTTP/1.1" 200 24699
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 14886
"GET /admin/warehouse/stockoperation/add/ HTTP/1.1" 200 19071
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/product_directory/product/1/change/?_to_field=id&_popup=1 HTTP/1.1" 200 10158
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/product_directory/product/1/change/?_to_field=id HTTP/1.1" 200 17244
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/add/ HTTP/1.1" 200 19071
"GET /admin/product_directory/product/add/?_to_field=id&_popup=1 HTTP/1.1" 200 10066
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"POST /admin/warehouse/stockoperation/add/ HTTP/1.1" 302 0
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 15687
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/statistics/ HTTP/1.1" 200 28103
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 15416
"GET /admin/jsi18n/ HTTP/1.1" 200 3342
"GET /admin/warehouse/stockoperation/statistics/ HTTP/1.1" 200 28103
"GET /admin/warehouse/stockoperation/ HTTP/1.1" 200 15416
Watching for file changes with StatReloader
Not Found: /
"GET / HTTP/1.1" 404 2782
"GET /api/pricing/ HTTP/1.1" 200 11324
"GET /static/rest_framework/css/bootstrap.min.css HTTP/1.1" 304 0
"GET /static/rest_framework/css/prettify.css HTTP/1.1" 304 0
"GET /static/rest_framework/css/bootstrap-tweaks.css HTTP/1.1" 304 0
"GET /static/rest_framework/js/csrf.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/jquery-3.7.1.min.js HTTP/1.1" 304 0
"GET /static/rest_framework/css/default.css HTTP/1.1" 304 0
"GET /static/rest_framework/js/bootstrap.min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/ajax-form.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/prettify-min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/default.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/load-ajax-form.js HTTP/1.1" 304 0
"GET /static/rest_framework/img/grid.png HTTP/1.1" 304 0
"GET /api/pricing/swagger/ HTTP/1.1" 200 2245
"GET /static/drf-yasg/style.css HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-dist/swagger-ui.css HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-dist/swagger-ui-standalone-preset.js HTTP/1.1" 304 0
"GET /static/drf-yasg/immutable.min.js HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-dist/swagger-ui-bundle.js HTTP/1.1" 304 0
"GET /static/drf-yasg/insQ.min.js HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-init.js HTTP/1.1" 304 0
"GET /api/pricing/swagger/?format=openapi HTTP/1.1" 200 44272
Watching for file changes with StatReloader
Watching for file changes with StatReloader
Not Found: /
"GET / HTTP/1.1" 404 2932
Not Found: /favicon.ico
"GET /api/hr/ HTTP/1.1" 200 10827
"GET /static/rest_framework/css/bootstrap.min.css HTTP/1.1" 304 0
"GET /static/rest_framework/css/bootstrap-tweaks.css HTTP/1.1" 304 0
"GET /static/rest_framework/js/csrf.js HTTP/1.1" 304 0
"GET /static/rest_framework/css/prettify.css HTTP/1.1" 304 0
"GET /static/rest_framework/js/jquery-3.7.1.min.js HTTP/1.1" 304 0
"GET /static/rest_framework/css/default.css HTTP/1.1" 304 0
"GET /static/rest_framework/js/prettify-min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/ajax-form.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/bootstrap.min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/default.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/load-ajax-form.js HTTP/1.1" 304 0
"GET /static/rest_framework/img/grid.png HTTP/1.1" 304 0
"GET /api/hr/swagger HTTP/1.1" 301 0
"GET /api/hr/swagger/ HTTP/1.1" 200 2229
"GET /static/drf-yasg/swagger-ui-dist/swagger-ui-standalone-preset.js HTTP/1.1" 304 0
"GET /static/drf-yasg/insQ.min.js HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-dist/swagger-ui-bundle.js HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-init.js HTTP/1.1" 304 0
"GET /static/drf-yasg/style.css HTTP/1.1" 200 1047
"GET /static/drf-yasg/immutable.min.js HTTP/1.1" 304 0
"GET /static/drf-yasg/swagger-ui-dist/swagger-ui.css HTTP/1.1" 200 145206
"GET /api/hr/swagger/?format=openapi HTTP/1.1" 200 54931
Watching for file changes with StatReloader
Not Found: /
"GET / HTTP/1.1" 404 2932
/home/dark/Documents/GitHub/store-management-system/urls.py changed, reloading.
Watching for file changes with StatReloader
Watching for file changes with StatReloader
/home/dark/Documents/GitHub/store-management-system/settings/base.py changed, reloading.
Watching for file changes with StatReloader
Watching for file changes with StatReloader
Not Found: /
"GET / HTTP/1.1" 404 3082
Not Found: /api/hq/
"GET /api/hq/ HTTP/1.1" 404 4133
Method Not Allowed: /api/hq/api/products/upload/
"GET /api/hq/api/products/upload/ HTTP/1.1" 405 10569
"GET /static/rest_framework/css/bootstrap.min.css HTTP/1.1" 304 0
"GET /static/rest_framework/css/bootstrap-tweaks.css HTTP/1.1" 304 0
"GET /static/rest_framework/css/default.css HTTP/1.1" 304 0
"GET /static/rest_framework/css/prettify.css HTTP/1.1" 304 0
"GET /static/rest_framework/js/csrf.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/prettify-min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/jquery-3.7.1.min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/bootstrap.min.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/ajax-form.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/default.js HTTP/1.1" 304 0
"GET /static/rest_framework/js/load-ajax-form.js HTTP/1.1" 304 0
"GET /static/rest_framework/img/grid.png HTTP/1.1" 200 1458
Not Found: /api/products/upload
"POST /api/products/upload HTTP/1.1" 404 3158
Not Found: /api/products/upload
"POST /api/products/upload HTTP/1.1" 404 3158
Not Found: /api/products/upload
"POST /api/products/upload HTTP/1.1" 404 3158
Not Found: /api/products/upload
"POST /api/products/upload HTTP/1.1" 404 3158
"GET /api/hr/swagger/?format=openapi HTTP/1.1" 200 55769
Not Found: /
"GET / HTTP/1.1" 404 3082
Not Found: /api/hq/
"GET /api/hq/ HTTP/1.1" 404 4133
Not Found: /api/hq/ api/products/upload/
"GET /api/hq/%20api/products/upload/ HTTP/1.1" 404 4198
Method Not Allowed: /api/hq/api/products/upload/
"GET /api/hq/api/products/upload/ HTTP/1.1" 405 10569
Internal Server Error: /api/hq/api/products/upload/
Traceback (most recent call last):
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "hq_product" does not exist
LINE 1: INSERT INTO "hq_product" ("name", "manufacturer", "manufactu...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
return view_func(request, *args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view
return self.dispatch(request, *args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/home/dark/Documents/GitHub/store-management-system/hq/views.py", line 11, in post
serializer.save()
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 758, in save
self.instance = self.create(validated_data)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 730, in create
return [
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 731, in <listcomp>
self.child.create(attrs) for attrs in validated_data
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 989, in create
instance = ModelClass._default_manager.create(**validated_data)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/query.py", line 679, in create
obj.save(force_insert=True, using=self.db)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 892, in save
self.save_base(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 998, in save_base
updated = self._save_table(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 1161, in _save_table
results = self._do_insert(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 1202, in _do_insert
return manager._insert(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/query.py", line 1847, in _insert
return query.get_compiler(using=using).execute_sql(returning_fields)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1836, in execute_sql
cursor.execute(sql, params)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 122, in execute
return super().execute(sql, params)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in execute
return self._execute_with_wrappers(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 100, in _execute
with self.db.wrap_database_errors:
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "hq_product" does not exist
LINE 1: INSERT INTO "hq_product" ("name", "manufacturer", "manufactu...
^
"POST /api/hq/api/products/upload/ HTTP/1.1" 500 215430
Watching for file changes with StatReloader
Internal Server Error: /api/hq/api/products/upload/
Traceback (most recent call last):
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: relation "hq_product" does not exist
LINE 1: INSERT INTO "hq_product" ("name", "manufacturer", "manufactu...
^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/core/handlers/base.py", line 197, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/views/decorators/csrf.py", line 65, in _view_wrapper
return view_func(request, *args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/views/generic/base.py", line 104, in view
return self.dispatch(request, *args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/home/dark/Documents/GitHub/store-management-system/hq/views.py", line 11, in post
serializer.save()
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 758, in save
self.instance = self.create(validated_data)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 730, in create
return [
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 731, in <listcomp>
self.child.create(attrs) for attrs in validated_data
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/rest_framework/serializers.py", line 989, in create
instance = ModelClass._default_manager.create(**validated_data)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/query.py", line 679, in create
obj.save(force_insert=True, using=self.db)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 892, in save
self.save_base(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 998, in save_base
updated = self._save_table(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 1161, in _save_table
results = self._do_insert(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/base.py", line 1202, in _do_insert
return manager._insert(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/manager.py", line 87, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/query.py", line 1847, in _insert
return query.get_compiler(using=using).execute_sql(returning_fields)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/models/sql/compiler.py", line 1836, in execute_sql
cursor.execute(sql, params)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 122, in execute
return super().execute(sql, params)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 79, in execute
return self._execute_with_wrappers(
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
return executor(sql, params, many, context)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 100, in _execute
with self.db.wrap_database_errors:
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/utils.py", line 91, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/db/backends/utils.py", line 105, in _execute
return self.cursor.execute(sql, params)
django.db.utils.ProgrammingError: relation "hq_product" does not exist
LINE 1: INSERT INTO "hq_product" ("name", "manufacturer", "manufactu...
^
"POST /api/hq/api/products/upload/ HTTP/1.1" 500 215430
Watching for file changes with StatReloader
"POST /api/hq/api/products/upload/ HTTP/1.1" 201 44
Internal Server Error: /api/hq/api/contractors/upload
Traceback (most recent call last):
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/utils/deprecation.py", line 131, in __call__
response = self.process_response(request, response)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/middleware/common.py", line 108, in process_response
return self.response_redirect_class(self.get_full_path_with_slash(request))
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/middleware/common.py", line 87, in get_full_path_with_slash
raise RuntimeError(
RuntimeError: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/api/hq/api/contractors/upload/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
"POST /api/hq/api/contractors/upload HTTP/1.1" 500 78748
Internal Server Error: /api/hq/api/employees/upload
Traceback (most recent call last):
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/core/handlers/exception.py", line 55, in inner
response = get_response(request)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/utils/deprecation.py", line 131, in __call__
response = self.process_response(request, response)
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/middleware/common.py", line 108, in process_response
return self.response_redirect_class(self.get_full_path_with_slash(request))
File "/home/dark/miniconda3/envs/django/lib/python3.10/site-packages/django/middleware/common.py", line 87, in get_full_path_with_slash
raise RuntimeError(
RuntimeError: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/api/hq/api/employees/upload/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
"POST /api/hq/api/employees/upload HTTP/1.1" 500 78716
"POST /api/hq/api/employees/upload/ HTTP/1.1" 201 45
"POST /api/hq/api/contractors/upload/ HTTP/1.1" 201 47
"POST /api/hq/api/contractor-contacts/upload/ HTTP/1.1" 201 55