Django раскрывающийся список с полями модели - PullRequest
0 голосов
/ 16 марта 2020

Я хочу отобразить раскрывающийся список со строковыми значениями имен полей в одной из моих моделей.

models.py :

class MyModel(models.Model):
    meat = models.CharField()
    veggies = models.CharField()
    fish = models.CharField()

forms.py :

class MyModelForm(ModelForm):
    class Meta:
        model = MyModel
        fields = ['foodTypes']

В раскрывающемся списке должно отобразиться

meat
veggies
fish

1 Ответ

1 голос
/ 16 марта 2020
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)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...