Я пытаюсь создать набор форм, каждый из которых содержит поле ввода. Это будет иметь некоторое динамическое количество элементов, и как только форма будет отправлена, введенный текст будет назначен как «теги» для связанного объекта. Это может показаться своего рода запутанным так давайте посмотрим на класс формы я пытаюсь сделать:Давать значения каждой форме в наборе форм в Django
class TagsForm(forms.Form):
tags = forms.CharField()
def __init__(self, *args, **kwargs):
applicantId = kwargs.pop('applicantId')
def saveTags(self):
applicant = Applicants.objects.get(id=applicantId)
Tag.update(applicant,tags)
Как вы можете видеть, что я хотел бы передать идентификатор формы от заявителя, а затем по получать запрос после обновления метки для этого объекта-заявителя путем вызова каждой формы saveTags. Вот код с моей точки зрения, где я обработки:
...
applicantQuery = allApplicantsQuery.filter(**kwargs)
TagsFormSet = formset_factory(TagsForm)
if request.method == 'POST':
tags_formset = TagsFormSet(request.POST, request.FILES, prefix='tags')
if tags_formset.is_valid()
for tagForm in tags_formset:
tagForm.saveTags()
else:
tags_formset = TagsFormSet(prefix='tags')
...
Проблема заключается в том, я не знаю, как создать исходный набор форм с идентификаторами из QuerySet applicantQuery. В идеале я могу просто запрограммировать запрос и отправить request.id в каждую форму, но я не уверен, как это сделать. Я также считаю, что я должен упомянуть, что набор форм должен иметь точно такое же количество форм, как и заявители в кандидатахQuery.
Ничего себе, это прекрасно! Спасибо! – James