Как убедиться, что дополнительное поле отображается в моей форме администратора Django? - PullRequest
0 голосов
/ 14 июня 2019

У меня есть следующий код:

class MyModelForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(MyModelForm, self).__init__(*args, **kwargs)
        self.fields['extra_field'] = forms.CharField(
            label=_('Extra field'),
            max_length=255
        )

    class Meta:
        model = MyModel
        fields = '__all__'


class MyModelInline(admin.StackedInline):
    extra = 0
    model = MyModel
    form = MyModelForm

Дополнительное поле, которое я добавил, не отображается в моей форме.Обратите внимание, что дополнительное поле не является полем, присутствующим в базе данных.Это просто что-то специально для этой формы.Как я могу убедиться, что дополнительное поле отображается в моей форме вместе со всеми другими полями базы данных автоматически?Я не хочу, чтобы мне приходилось вручную указывать каждое поле в атрибуте self.fields.Спасибо за любую помощь.

1 Ответ

1 голос
/ 14 июня 2019

Не думаю, что вам нужно переопределять метод __init__(), просто поставьте поле как обычным способом как,

class MyModelForm(forms.ModelForm):
    <b>extra_field = forms.CharField(label=_('Extra field'), max_length=255)</b>

    class Meta:
        model = Session
        fields = '__all__'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...