我正在创建一个下拉列表表单.py为了过滤数据,我得到了一个名为layer_id
的变量。像这样进入视野layer_id = kwargs['layer_id']
。所有的事情都很好,但当我把它分配给这样的文件时self.fields['apn'].queryset= Field.objects.filter(layer=layer)
。调用转到数据库的fields
表,而不是分配我在中声明的这些字段表单.py. 那么我可以把谁分配给表单.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)
如果您想使用一些变量来形成实例,可以使用
get_form_kwargs
方法。 您可以在__init__
中使用它。你知道吗我希望这对你有帮助
把你的表格改成
相关问题 更多 >
编程相关推荐