Модель Django MultipleObjectsReturned - PullRequest
       2

Модель Django MultipleObjectsReturned

1 голос
/ 17 октября 2019

Я использую django ORM для связи с БД SQL Server.

Я использовал метод .raw () для запуска запроса:

@classmethod
def execute_native_queries(cls, query):
    return cls.objects.raw(query)

Позже я приведу его к типув список, выполнив: data = list(modelName.execute_native_queries(query))

Во время итерации по списку я бы назвал определенные столбцы так:

for entry in data:
    a = entry.colA
    b = entry.colB
    c = entry.colC

Для определенных записей я могу запустить один цикл. итерация в порядке, однако для некоторых я получаю следующую ошибку:

api.models.modelName.MultipleObjectsReturned: get() returned more than one modelName-- it returned 2!

Что я не получаю, так это почему появляется эта ошибка?

РЕДАКТИРОВАТЬ: Добавлена ​​трассировка стека

Traceback (most recent call last):
  File "<full filepath>\a.py", line 178, in method1
    'vc': data.vc,
  File "C:\FAST\Python\3.6.4\lib\site-packages\django\db\models\query_utils.py", line 137, in __get__
    instance.refresh_from_db(fields=[self.field_name])
  File "C:\FAST\Python\3.6.4\lib\site-packages\django\db\models\base.py", line 605, in refresh_from_db
    db_instance = db_instance_qs.get()
  File "C:\FAST\Python\3.6.4\lib\site-packages\django\db\models\query.py", line 403, in get
    (self.model._meta.object_name, num)
api.models.modelName.MultipleObjectsReturned: get() returned more than one modelName-- it returned 2!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...