Странная ошибка, возникающая при запросе базы данных sqlite с использованием моделиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Странная ошибка, возникающая при запросе базы данных sqlite с использованием модели

Сообщение Anonymous »


Я получаю очень странное сообщение decimal.InvalidOperation: [] при попытке запросить таблицу в моем приложении Django. Я подозреваю, что это может быть связано с виртуальной средой.

Это мнение. Это конечная точка, которая будет получать некоторые данные JSON (на данный момент я использую Postman для отправки данных на нее).

def handleRawMarketData(запрос): если request.method=='POST': данные = json.loads(request.body) распечатать (данные) для элемента в данных: new_data = rawMarketData(duration=item['duration'], is_buy_order=предмет['is_buy_order'], выдано = элемент['выдано'], location_id = элемент['location_id'], min_volume = элемент['min_volume'], order_id = элемент['order_id'], цена = товар['цена'], диапазон = элемент['диапазон'], typeID = InvTypes.objects.get(typeID = элемент['type_id']), Volume_remain = элемент['volume_remain'], Volume_total = элемент['volume_total']) новые_данные.save() return JsonResponse({'message': 'Данные успешно сохранены'}) return JsonResponse({'message': 'Failed'}) Это данные, отправляемые Postman в теле запроса POST:

[{"duration":90,"is_buy_order":true,"issued":"2023-10-03T10:21:32Z","location_id":1038457641673,"min_volume":1,"order_id ":6512967679,"price":17720000,"range":"region","type_id":19255,"volume_remain":2,"volume_total":3},{"duration":90,"is_buy_order":true, "issued":"2023-10-17T20:31:19Z","location_id":1038457641673,"min_volume":1,"order_id":6616121350,"price":500.2,"range":"station","type_id ":24509,"volume_remain":198250,"volume_total":200000}] Это две используемые модели.

класс InvTypes(models.Model): typeID = models.IntegerField(db_column='typeID', Primary_key=True) groupid = models.IntegerField(db_column='groupID', Blank=True, null=True) имя_типа = models.CharField(db_column='typeName', пустое = True, null = True, max_length = 10000) описание = models.TextField(пусто = True, null = True) масса = models.IntegerField(пусто = True, null = True) объем = models.IntegerField(пусто = True, null = True) емкость = models.IntegerField(пусто = True, null = True) порционный размер = модели.IntegerField(db_column='portionSize', пустое = True, null = True) Raceid = models.IntegerField(db_column='raceID', пустое значение=True, null=True) baseprice = models.DecimalField(db_column='basePrice', max_digits=10, decimal_places=5, пустое=True, null=True) опубликовано = models.BooleanField(пусто = True, null = True) marketgroupid = models.IntegerField(db_column='marketGroupID', пустое = True, null = True) iconid = models.IntegerField(db_column='iconID', Blank=True, null=True) soundid = models.IntegerField(db_column='soundID', Blank=True, null=True) Graphicid = models.IntegerField(db_column='graphicID', Blank=True, null=True) класс Мета: управляемый = Ложь db_table = 'invTypes' А этот:

класс rawMarketData(models.Model): продолжительность = модели.IntegerField() is_buy_order = models.BooleanField() выдано = models.CharField(max_length=64) location_id = models.IntegerField() min_volume = models.IntegerField() order_id = models.IntegerField(unique=False) цена = модели.IntegerField() диапазон = модели.CharField(max_length=32) typeID = models.ForeignKey(InvTypes, on_delete=models.CASCADE) Volume_remain = models.IntegerField() Volume_total = models.IntegerField() enter_created_at = models.DateTimeField(auto_now_add=True) А это отслеживание ошибки:
[{'duration': 90, 'is_buy_order': True, 'issued': '2023-10-03T10:21:32Z', 'location_id': 1038457641673, 'min_volume': 1, 'order_id ': 6512967679, "цена": 17720000, "диапазон": "регион", "type_id": 19255, "volume_remain": 2, "volume_total": 3}, {'duration': 90, 'is_buy_order': True, «выдано»: «2023-10-17T20:31:19Z», «location_id»: 1038457641673, «min_volume»: 1, «order_id»: 6616121350, «цена»: 500,2, «диапазон»: «станция», «type_id» ': 24509, 'volume_remain': 198250, 'volume_total': 200000}] Внутренняя ошибка сервера: /привет/ Traceback (последний вызов последний): Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/core/handlers/Exception.py", строка 55, во внутреннем ответ = get_response (запрос) Файл «/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/core/handlers/base.py», строка 197, в _get_response ответ = обернутый_callback(запрос, *callback_args, **callback_kwargs) Файл «/home/bhaalgorn/Documents/GitHub/evemarketreader-django/backend/views.py», строка 20, в handleRawMarketData typeID = InvTypes.objects.get(typeID = item['type_id']), Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/models/manager.py", строка 87, в менеджере_метода return getattr(self.get_queryset(), name)(*args, **kwargs) Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/models/query.py", строка 633, в get число = len(клон) Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/models/query.py", строка 380, в __len__ self._fetch_all() Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/models/query.py", строка 1881, в _fetch_all self._result_cache = список(self._iterable_class(self)) Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/models/query.py", строка 121, в __iter__ для строки в compiler.results_iter(results): Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/models/sql/compiler.py", строка 1500, в apply_converters значение = преобразователь(значение, выражение, связь) Файл "/home/bhaalgorn/.local/share/virtualenvs/evemarketreader-django-LUolK3dd/lib/python3.8/site-packages/django/db/backends/sqlite3/operations.py", строка 342, в конвертере вернуть create_decimal(значение).quantize( decimal.InvalidOperation: []
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»