0

django では、変更をチェックし、必要な場合にのみ save を呼び出す傾向があります。たとえば、次のコードがあります。

    # self == some Model...

    save_required = False
    if self.pct_complete != pct_complete:
        self.pct_complete = pct_complete
        save_required = True
    if self.phase_pct_complete != phase_pct_complete:
        self.phase_pct_complete = phase_pct_complete
        save_required = True
    if self.is_eligible_for_next_phase != is_eligible_for_next_phase:
        self.is_eligible_for_next_phase = is_eligible_for_next_phase
        save_required = True
    if save_required:
        self.save()

これは、Django がモデルの「前」と「後」の状態を追跡していないように見えるコメントを読んだことに基づいています。

質問:

私が他のアプリを使用していると、多くの人が状態を追跡し、必要な場合にのみ保存することはありません。これには理由がありますか、それとも私が過度に妄想的ですか?

4

1 に答える 1

1

列に大量のデータがあるか、待ち時間の長いデータベース接続またはその他のまれなケースでない限り、これを行う必要はないと思います。

いずれにせよ、この新機能はコードを整理するのに役立ちます: https://docs.djangoproject.com/en/dev/releases/1.5/#support-for-Saving-a-subset-of-model-s-fields

于 2012-11-26T14:01:18.327 に答える