我有以下型号
class HasJobs(models.Model):
account = models.ForeignKey(Account)
job = models.ForeignKey(Job)
和模型
class HasJobsModelForm(models.Model):
class Meta:
model = HasJobs
在我看来,我创建了一个modelformset
jobs = Job.objects.filter(#somefiltering here)
has_jobs = HasJobs.objects.filter(#some filtering here)
hasjobsformset = modelformset_factory(HasJobs, form=HasJobsModelForm)
formset = hasjobsformset(queryset=has_jobs)
我还想在作业查询集中设置作业字段,就像我可以做的那样如果我不必处理像这样的表单集:
form.fields['job'].queryset = jobs
这可以自动在formset中完成,或者我必须使用formset中的每种形式:
for job_form in formset:
job_form.fields['job'].queryset = jobs
答案 0 :(得分:0)
我通常是BaseFormset
的子类并提供我自己的_construct_form(self, index, **kwargs)
,根据我的需要进行操作;
更简洁的方法可能是为您的init
提供自定义ModelForm
方法,并从上述_construct_form
中提供您需要的任何参数。