2017-04-26 24 views
0

我正在构建一个广告管理器软件,我想使用django的ModelForm系统来加载Ad对象的整个查询集,以便用户可以更改已经运行/现有广告中的字段。如何在整个查询集上初始化Django ModelForms?

我希望以modelformset_factory方法的另一种方式进行此操作。

例如,如果用户有一个单一的广告模式,你可以简单地调用该实例和实例装入名为AdForm一个的ModelForm实例,以便他们可以编辑广告的属性:

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

那么,关于如果用户有20个活动广告在运行?如何将20个广告实例的查询集加载到其各自的AdForms中?

感谢

+0

我不明白为什么你不希望使用modelformset_factory。这正是它的目的。 –

回答

1

可以Change the queryset

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