Используя django/appengine, как я могу представить форму, которая позволяет вводить определенные поля модели, а затем устанавливать дополнительные поля модели в коде. Вызов form.save(commit=False) вызывает исключение, поскольку пользователь не установлен. Каков правильный способ Django для обработки таких случаев?
У меня есть следующие классы моделей и форм:
class FooModel(db.Model):
user = db.UserProperty(required=True)
date = db.DateProperty(required=True)
class FooForm(djangoforms.ModelForm):
class Meta:
model = models.FooModel
exclude = ['user']
И следующий код обработчика запроса:
if request.method == 'POST':
form = forms.FooForm(request.POST)
# form.save() raises an exception because 'user' is not set
foo = form.save(commit=False)
foo.user = users.get_current_user()
foo.save()