1

Django admin を使用してインライン モデルを削除しようとしています。というエラーが表示されます

[u'有効な選択肢を選択してください。その選択は、利用可能な選択肢の 1 つではありません。

例外が発生する場所を確認します。インライン モデルが削除されたようで、親モデルでフォームの検証が行われ、削除されたインライン モデルがフォームの値として残っています。それが失敗の原因でした。

私の管理モデルではsave_formset、 と呼ばれるメソッドが定義されていましたformset.save(commit=False)commit=False関連するモデルを削除しないようにDjangoに指示していませんか?

ありがとう。

4

1 に答える 1

2

コードをざっと見てみると、 formsetsaveメソッドが を呼び出し ているように見えsave_existing_objectsます。commitFalse

オブジェクトをフォームセットに保存するドキュメントでは、指定したときに削除対象としてマークされたオブジェクトがどうなるかを指定していませんcommit=False。それはただ言う:

commit=False保存されていないモデル インスタンスを返すために渡します。

于 2012-11-06T16:59:42.930 に答える