2011-05-01 10 views
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() 

答えて

1

SDK exampleを一致させるには、あなたのUserPropertyからrequired=Trueを省略することができます。

+0

ですが、ユーザーは実際には必要です。 – anthony

関連する問題