Что происходит с этим formset? - PullRequest
0 голосов
/ 21 апреля 2019

Я создал набор форм , используя queryset .

Непосредственно перед рендерингом шаблона с formset я обновляю записи queryset , возвращенные таким образом, что они больше не встретились бы с критерий фильтра queryset.

Если я сделаю «что-то» (т. Е. print(formset) или num_forms = formset.total_form_count()) w / formset до рендеринга шаблона, он возвращает все записи, которые возвращает исходный запрос.

Если я не сделаю что-нибудь с formset до рендеринга шаблона, formset пуст.

Достаточно легко выйтикакая-то произвольная операция в коде, но хотелось бы понять, что здесь происходит.

Код из views.py:

batch = (Ad.objects.filter(
                  (Q(labeler_expiration__lt=timezone.now()) | Q(labeler_expiration__isnull=True))
                  & Q(category__isnull=True))
                  .order_by('id')[:25]
                )

formset = AdFormSet(queryset=batch)

#Here I need to do something w/ the formset:
num_forms = formset.total_form_count()
#print(formset) #This print could also work instead of the line above

(Ad.objects.filter(pk__in=batch.values('pk'))
.update(labeler=request.user.labeler, labeler_expiration=(timezone.now() + timedelta(minutes=25))))


return render(request, 'label_ads_batch.html', {'formset': formset})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...