Как отправить новые поля формы с данными из Django views.py?
Я добавляю новое поле с именем "user" в модель "order". Я сделал миграции. (Бонусный вопрос: почему в sql3db колонка "user_id", а не "user"? Но ладно, меняю form.fields['user'] на form.fields['user_id'], как хочет машина...)
Я удаляю ненужные поля из формы в forms.py, и пытаюсь добавить эти поля в views.py (потому что я не знаю, как отправить "пользователя" в forms.py, и я думаю, что так безопаснее).
Как я могу понять - мои новые поля отсутствуют для "order", когда я использую form.save(). Это поле не может быть нулевым по дизайну.
В вашей форме нет поля user
, поэтому это не сработает. Что вы можете сделать, так это изменить объект, обернутый в форму с помощью:
if form.is_valid():
form.instance.user = request.user
form.instance.email = request.user.email
order = form.save()