在forms.Form的__init__中改变ModelChoiceField的查询集

2024-10-01 04:46:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我当前遇到了为forms.Form重写__init__()的问题。在

基础形式

class ReportsMainForm(forms.Form):
 ---- #Some fields
    def __init__(self, *args, **kwargs):
        super(ReportsMainForm, self).__init__(*args, **kwargs)

子窗体

^{pr2}$

问题

这里的问题是,我的queryset没有更新。我错过了什么?在


Tags: selfformfieldsinitdefargsformssome
2条回答

尝试改变小部件的查询集(ehm。。。选择):

^{1}$

为什么?

检查代码(参见django.forms.model.ModelChoiceField),当在field小部件的选择上设置queryset时,也会更新(这很好):

但是选择是缓存在字段上的,所以它们总是一样的。。。在

我认为这是一个bug,因为在field init上有一个显式的选项“cache\u choices”,默认为False。在

这条线是错的

^{1}$

应该是

^{pr2}$

相关问题 更多 >