class MyForm(Form):
food_types = forms.ChoiceField(widget=forms.Select, choices=[])
class Meta:
fields = ['food_types']
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['food_types'].choices = [x.name for x in MyModel._meta.get_fields() if condition]
Состояние может отличаться. Может быть, это будет if isinstance(x, fields.CharField)