2017-04-26 34 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())