当QuerySet在联合后调用annotate时,它将引发错误,为什么,如何解决?

2024-06-23 20:15:29 发布

您现在位置:Python中文网/ 问答频道 /正文

当在联合后调用.annotate()时,会引发错误

我的示例代码在这里;我认为,当你在其他任何型号上尝试时,也会出现错误

from django.db.models import F

cards = card10.union(SCPSimcard.objects.all())
c = cards.annotate(n=F('id'))
print(c)

错误:

Traceback (most recent call last):
      File "<console>", line 1, in <module>
      File "C:\Users\hasee\Envs\tb_simcard\lib\site-packages\django\db\models\query.py", line 250, in __repr__
        data = list(self[:REPR_OUTPUT_SIZE + 1])
      File "C:\Users\hasee\Envs\tb_simcard\lib\site-packages\django\db\models\query.py", line 274, in __iter__
        self._fetch_all()
      File "C:\Users\hasee\Envs\tb_simcard\lib\site-packages\django\db\models\query.py", line 1242, in _fetch_all
        self._result_cache = list(self._iterable_class(self))
      File "C:\Users\hasee\Envs\tb_simcard\lib\site-packages\django\db\models\query.py", line 78, in __iter__
        setattr(obj, attr_name, row[col_pos])
    IndexError: list index out of range

Tags: djangoinselfdbmodelslibpackagesline

热门问题