Tastypie リソースで save_m2m が必要な理由についての私の理解はまだ明確ではありません。POST で、1 つのモデルの作成に関連するデータのみを投稿し、m2m オブジェクトに関連するものは何も送信しない場合でも、save_m2m を実行する必要がありますか? なぜそれが必要なのですか?save_m2m をオーバーライドして何もしないとどうなりますか? 正常に動作しているようで、リソースが作成されました。これがもたらす可能性のある隠れた影響についてはわかりません。コメントをお願いします。
1 に答える
3
マークされたフィールドがない場合is_m2m=True
、メソッドは実際には何もしません。save_m2m の Tastypie docstring から:
"""
Handles the saving of related M2M data.
Due to the way Django works, the M2M data must be handled after the
main instance, which is why this isn't a part of the main ``save`` bits.
Currently slightly inefficient in that it will clear out the whole
relation and recreate the related data as needed.
"""
Tastypie のリソースsave_m2m
メソッド内で is_m2m が True に設定されているフィールドをチェックします。何も見つからない場合は何もしません。そのため、リソース クラスに m2m がなく、他のリソースがそれを継承しない場合は、save_m2m
何もしない方法。
実際には、tastypie よりも 1 ループ先になります (わずかなスピードアップ woohoo! ;))。
于 2012-09-05T14:23:27.397 に答える