Reputation: 1
i have this code below, where i'm using Select2 in my select component, it's working fine, as i'm writing it's looking, but i've already searched the internet to find examples of how to customize the query set that runs in the widget, some help ?
class ConsumidorWidget(s2forms.ModelSelect2Widget):
search_fields = [
"nome__icontains",
"email__icontains",
]
class ConsumoForm(forms.ModelForm):
class Meta:
model = Consumo
fields = ('id', 'consumidor', 'mesconsumo', 'anoconsumo', 'valorapagar', 'valorhidrometro',
'dataleitura', 'datamissao', 'datavencimento', 'foipago',)
exclude = ('bairro',)
mesconsumo = forms.ChoiceField()
widgets = {
"consumidor": ConsumidorWidget,
}
Upvotes: 0
Views: 623
Reputation: 11
Use ModelChoiceField
:
consumidor = forms.ModelChoiceField(
queryset=Consumo.objects.all(),
widget=ConsumidorWidget)
Or you can try overriding the __init__
method:
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['consumidor'].queryset = Consumo.objects.all()
Upvotes: 1