i have a ModelChoiceField that containts clients names selected from my database. but when submiting the form i get :
"Select a valid choice. That choice is not one of the available choices"
here is my form :
class FormVents(forms.Form):
client_name=forms.ModelChoiceField(queryset=client.objects.all().values_list('nom', flat=True),required=False)
def clean(self):
client_name = self.cleaned_data.get('client_name')
print(client_name)
i tryed to print client_name to check if i can get the value but i get None ! i guess that's why i always get that error Dont know what's the problem? is the way i call the field is not right ? any help please . Thank You so much
Remove .values_list('nom', flat=True)
.
IE
client_name=forms.ModelChoiceField(queryset=client.objects.all(), required=False)
If you want the value
attribute to be a particular field from the model (the primary key is used by default), use the to_field_name
keyword for the modelchoicefield.
For example,
client_name=forms.ModelChoiceField(queryset=client.objects.all(), to_field_name='nom', required=False)