Доступ к полю не модели в сигнале pre_save

Мне нужно добавить простое не модельное поле в форме Django:

<input type="text" name="setupwork" value=""/>

затем получите доступ к его значению по сигналу pre_save.

Есть ли способ сделать это, я изучил параметры pre_save: sender, instance, using, **kwargs, но не смог найти это поле.

2 ответа

Звучит так, как будто вы просто хотите добавить к своей форме скрытое поле, которое затем вы можете проверить, есть ли в нем что-то

class MyForm(Form):
    my_field = forms.CharField(widget=forms.HiddenInput())

    def clean_my_field(self):

        data = self.cleaned_data['my_field']

        if data:
             raise ValidationError()
        return data

Ответ: Я думал, что смогу получить доступ к FORM из сигнала pre_save. Как объяснено выше авторами, это НЕ так. Вы можете получить доступ только к данным модели по отношению к форме. Так что в моем случае поле, добавленное только в html-форму, теперь будет отображаться в экземпляре pre_save.

Я решил эту проблему, создав специальное промежуточное программное обеспечение, которое будет запускаться при любом методе POST, и проверил наличие и содержимое поля формы html с развязкой.

Другие вопросы по тегам