【问题标题】:ForeignField queryset edit inside a modelformset模型表单集中的 ForeignField 查询集编辑
【发布时间】:2015-02-12 15:26:53
【问题描述】:

我有以下型号

class HasJobs(models.Model):
    account = models.ForeignKey(Account)
    job = models.ForeignKey(Job)

还有模型

class HasJobsModelForm(models.Model):
    class Meta:
        model = HasJobs

在我看来,我创建了一个模型表单集

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

这可以在表单集中自动完成还是必须在表单集中的每个表单中使用,例如:

for job_form in formset:
    job_form.fields['job'].queryset = jobs

【问题讨论】:

    标签: django formset


    【解决方案1】:

    我通常继承 BaseFormset 并提供我自己的 _construct_form(self, index, **kwargs),根据我的需要进行管理;

    一种更简洁的方法可能是为您的ModelForm 提供一个自定义的init 方法,并将上述_construct_form 中您需要的任何参数提供给它。

    【讨论】:

      猜你喜欢
      • 2017-11-22
      • 1970-01-01
      • 2014-01-01
      • 2012-12-15
      • 2020-02-12
      • 2020-07-25
      • 1970-01-01
      • 2018-12-04
      • 1970-01-01
      相关资源
      最近更新 更多