如何在整个查询集上初始化Django ModelForms?

时间:2017-04-26 05:30:58

标签: python django django-models django-forms

我正在构建广告管理器软件,我想使用django的ModelForm系统加载广告对象的整个查询集,以便用户可以更改已经投放/现有广告中的字段。

我希望以modelformset_factory方法的替代方式执行此操作。

例如,如果用户只有一个广告模型,您只需调用该实例并将实例加载到名为AdForm的modelForm实例中,以便他们可以编辑广告的属性:

ad_instance = Ad.objects.get(pk=1)
ad_form = AdForm(instance=ad_instance)

那么如果用户有20个有效广告在运行呢?如何将20个广告实例的查询集加载到各自的AdForms中?

由于

1 个答案:

答案 0 :(得分:1)

你可以Change the queryset

AdFormSet = modelformset_factory(Ad, fields=('name', 'title'))
formset = AdFormSet(queryset=request.user.ad_set.all())