#python #django #for-loop #django-queryset
Вопрос:
Я пытаюсь выполнить цикл с 1 по 100 для первичного ключа (pk) для объектов.войдите в django. Я продолжаю получать a matching query does not exist.
, я предполагаю, что django не считывает выходные данные как int.
def f_factory(i):
def f(offset):
nonlocal i
i = offset
return i
for i in range(3):
an = djangonote.objects.get(pk=i)
print(an.id)
Комментарии:
1. Вы проверили, все ли PKS существуют? И рассматривали ли вы возможность использования одного набора запросов вместо множества запросов?
2.
for(1, 100)
вместоfor(3)
. Но не стоит работать с итератором для извлечения элементов, так как элементы могут быть удалены , и это приведет к томуi
, что для некоторыхdjangonote
из них не будет этого первичного ключа.3. Разобрался в проблеме. Просто выполнил запрос all, чтобы получить данные, а затем проанализировал