Я использую 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!