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 回答