在我的ModelForm中,我创建了一个未直接绑定到模型上的任何内容的下拉列表.因此,我在实例化时传递了它的查询集.
class CallsForm(ModelForm):
def __init__(self, company, *args, **kwargs):
super(CallsForm, self).__init__(*args, **kwargs)
self.fields['test_1'].queryset = company.deal_set.all()
test_1 = forms.ModelChoiceField(queryset = '')
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,我如何为它指定一些属性?
对于其他模型绑定小部件,我通常在Meta中执行此操作:
class Meta:
model = Conversation
widgets = {
'notes': forms.Textarea(attrs={'class': 'red'}),
}
Run Code Online (Sandbox Code Playgroud)
但在我的情况下重写它是没有意义的.
我尝试在实例化时设置属性而没有任何运气.
test_1 = forms.ModelChoiceField(attrs={'class':'hidden'}, queryset = '')
Run Code Online (Sandbox Code Playgroud)
但它说: __init__() got an unexpected keyword argument 'attrs'
肯定有办法......
Chr*_*att 27
attrs
仅适用于小部件,而不适用于字段.尝试:
test_1 = forms.ModelChoiceField(queryset = '', widget=forms.Select(attrs={'class':'hidden'}))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9635 次 |
最近记录: |