Как в Django добавить данные в уже созданную форму?

Предположим, у вас есть ModelForm, к которому вы уже привязали данные из request.POST. Если в ModelForm есть поля, которые я не хочу, чтобы пользователь заполнял и которые поэтому не отображаются в форме (например: пользователь уже вошел в систему, я не хочу, чтобы пользователь заполнял поле 'author', я могу получить его из request.user), какой "джанговский" способ сделать это?

class RandomView(View):
    ...
    def post(self, request, *args, **kwargs):
        form = RandomForm(request.POST)
        form.fill_remaining_form_fields(request) ### How would you implement this ???
        if form.is_valid():
            ...

Я пробовал добавить поля в экземпляр формы (например: self.data['author'] = request.user), но поскольку форма QueryDict является неизменяемой, это явно не правильный способ сделать это.

Есть предложения?

Моя ошибка, документация Django на самом деле объясняет, как это сделать в https://docs.djangoproject.com/en/4.0/topics/forms/modelforms/#selecting-the-fields-to-use (см. примечание).

Вернуться на верх