我有一个模型Quote
,它有一个用户模型的外键。用户可以有0到10个引号,如果有/或他有一个或多个引号,则其中一个应该是主引号(primary是引用模型的字段)。
当用户添加报价时,会检查用户是否有其他报价,如果没有,则将新报价设置为主报价。当主要报价被删除时,如果用户有任何其他报价,则将另一个报价设置为主要报价。
现在我在各自的观点中这样做。我想知道是否更好地覆盖模型的save
和delete
函数并在那里完成所有这些。
那么在模型或视图中执行这些任务的正确位置是什么?
答案 0 :(得分:6)
另请注意,如果您覆盖模型方法,则提供一种“保证”,无论ORM如何被访问,您的规则都将被应用。如果只在视图中执行逻辑,那么在其他地方;例如,使用自定义管理命令或django shell,模板标记,甚至在另一个视图中,您的规则可能无法应用。