1
django/appengineを使用して、特定のモデルフィールドの入力を許可するフォームを提示し、コード内に追加のモデルフィールドを設定するにはどうすればよいですか。 form.save(commit = False)を呼び出すと、ユーザーが設定されていないため例外が発生します。このようなケースを扱う正しいDjangoの方法は何ですか?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()
ですが、ユーザーは実際には必要です。 – anthony