私はAdminModelを持っています。しかし、私はそれらがすべてのフィールドが空のときに保存することはできません。私は、次を使用して、これを実装しました:M2Mリレーションシップをdjangoに保存するのをやめる
def save_model(self, request, obj, form, change):
if form.has_changed():
obj.save()
else:
pass
はしかし、モデルは別のモデルとのM2M関係を持っているので、私は保存打つとき、私は次のエラーを取得する:
instance needs to have a primary key value before a many-to-many relationship can be used.
私は何が必要ですM2M関係を作成しようとするのを止めるためにこのメソッドに追加するには?
編集:
私はハックの回避策を追加しましたが、私はそれを行うためのより良い方法があるかどう知ることに興味があると思います。この問題を回避するには、else
を変更して、ModelAdminのフィールド属性を変更して、M2M関係のフィールドを含まないようにしました。これにより、関係を作成しようとしません。これはハッキーだけでなく、一度モデルを保存してエラーをスローした後にのみ機能します...
解決できない場合は、解決してください。また、その解決策はスレッドセーフではありません。 –
私が知りたいことをする方法があれば、私はちょうど解決しようとしていました。私はちょうど私が物事を試していたので、私はジャンゴに新しいです。 – Pikaling
ああ、ローガーそれ! –