Dentro de mi ModelForm he creado un menú desplegable que no está vinculado a nada en el modelo directamente. Por lo tanto, transfiero el conjunto de consulta en la instanciación.Cómo definir atributos en forms.ModelChoiceField?
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 = '')
Esto funciona bien. Sin embargo, ¿cómo especifico algunos atributos para ello?
Para los otros con destino a-modelo de widgets que suelo hacer esto en Meta:
class Meta:
model = Conversation
widgets = {
'notes': forms.Textarea(attrs={'class': 'red'}),
}
Pero por encima de que en mi caso no tendría ningún sentido.
Traté de establecer los atributos sobre la instanciación sin suerte.
test_1 = forms.ModelChoiceField(attrs={'class':'hidden'}, queryset = '')
pero dice: __init__() got an unexpected keyword argument 'attrs'
Seguramente debe haber una manera ...