我瞭解在列出或過濾數據時Django中Managers
的作用。然而,當涉及到節約模式我經常看到用以下兩種方式的數據...如何使用管理器在Django中保存數據
使用經理:
class Project(TimeStampedModel):
stuff
def save(self, **kwargs):
Action.objects.log_action(user=self.user,comment="Saves a project")
不使用經理:
class Project(TimeStampedModel):
stuff
def save(self, **kwargs):
action = Action(user=self.user,comment="Saves a project")
action.save
所以我的問題是,鑑於上述情況是正確的?
那麼在上面的情況下,你會使用管理器選項? – Prometheus
是的,:-)如果您的項目中有其他模型需要'log_action',那麼如果您沒有在管理器中抽象出該模型,那麼該模型必須複製'log_action'邏輯。 – Yeo