Как в 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 (см. примечание).