W moim ModelForm stworzyłem rozwijanie, które nie jest bezpośrednio związane z tym modelem. Dlatego przekazuję w zapytaniu dla niego przy tworzeniu.Jak zdefiniować atrybuty na formularzach. Modelodbroj.pl?
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 = '')
Działa to dobrze. Jak jednak określić dla niego niektóre atrybuty?
Dla pozostałych modeli związana-widgetów Zazwyczaj robię to w Meta:
class Meta:
model = Conversation
widgets = {
'notes': forms.Textarea(attrs={'class': 'red'}),
}
Ale przesłanianie go w moim przypadku nie miałoby sensu.
Próbowałem ustawić atrybuty podczas tworzenia instancji bez żadnego szczęścia.
test_1 = forms.ModelChoiceField(attrs={'class':'hidden'}, queryset = '')
ale mówi: __init__() got an unexpected keyword argument 'attrs'
pewnością musi istnieć sposób ...