如何更改 SelectField 上的查询集?
How can i change queryset on SelectField?
我有一个表单和一个 select 输入,我需要更改那个 select 的查询集,我该怎么做?
我的表格示例:
class myModelForm(forms.ModelForm):
class Meta:
model = myModel
fields = '__all__'
如果你想制作一个表单来只捕获模型的某些字段,你必须指定这样的字段:
class Meta:
model = myModel
fields = ['field1','field3','field12']
如果您的意思是您希望在将其显示在您的视图中之后对其进行更改:
form = myModelForm(request.POST)
form.cleaned_data['field1'] = 'change what you want'
尝试覆盖 __init__
并在您的字段上设置查询集:
class myModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['<your_field_name'].queryset = <your_queryset>
我有一个表单和一个 select 输入,我需要更改那个 select 的查询集,我该怎么做?
我的表格示例:
class myModelForm(forms.ModelForm):
class Meta:
model = myModel
fields = '__all__'
如果你想制作一个表单来只捕获模型的某些字段,你必须指定这样的字段:
class Meta:
model = myModel
fields = ['field1','field3','field12']
如果您的意思是您希望在将其显示在您的视图中之后对其进行更改:
form = myModelForm(request.POST)
form.cleaned_data['field1'] = 'change what you want'
尝试覆盖 __init__
并在您的字段上设置查询集:
class myModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['<your_field_name'].queryset = <your_queryset>