2009-07-08 15 views
37

私はget_or_create()のようなものを使う必要がありますが、問題は私が多くのフィールドを持っていて、デフォルト(何とか意味をなさない)を設定したくないということです。オブジェクトをすぐに保存するため、デフォルトを設定するとエラーが返されます。get_or_create()はすぐに保存する必要がありますか? (Django)

フィールドをnull = Trueに設定できますが、nullフィールドは必要ありません。

get_or_create()に送信してオブジェクトをインスタンス化するための他のメソッドや追加のパラメータはありますか?save()を呼び出すまで保存しません。

ありがとうございました。あなただけ行うことができます

答えて

37

try: 
    obj = Model.objects.get(**kwargs) 
except Model.DoesNotExist: 
    obj = Model(**dict((k,v) for (k,v) in kwargs.items() if '__' not in k)) 

get_or_createが何をするかはかなりある、SANはコミット。

関連する問題