我在 forms.py 中创建一个下拉列表并过滤数据,我得到一个名为layer_id
. 并且像这样进入视野 layer_id = kwargs['layer_id']
。一切都很好,但是当我最终分配到这样的文件时 self.fields['apn'].queryset= Field.objects.filter(layer=layer)
。调用转到fields
数据库表,而不是分配我在 forms.py 中声明的这些字段。那么我可以将谁分配给 forms.py 中的字段
class labelModelForm(forms.ModelForm):
model = Labels_tool_
fields = ['apn', 'owner_name', 'situs_addr_One', 'situs_addr_Two', 'mailing_addr_One', 'mailing_addr_Two']
apn = forms.ModelChoiceField(queryset=Field.objects.values_list('name', flat=True), empty_label="(Choose field)")
def __init__(self, *args, **kwargs):
//getting layer_id from views
layer_id = kwargs['layer_id']
print layer_id
layer=Layer.objects.filter(id=layer_id).first()
x=Field.objects.filter(layer=layer)
//On this step when modify queryset I get error
self.fields['apn'].queryset= Field.objects.filter(layer=layer)