Django 应在何处维护数据完整性?
首先是简化的场景:Django 应在何处维护数据完整性?,django,postgresql,rdbms,ordbms,Django,Postgresql,Rdbms,Ordbms,首先是简化的场景: 商人有自己的产品 商人有门类 产品有子类别 商户产品类别必须将商户类别作为父类别 这是使用RDBMS方法建模的。我使用Postgres作为数据库,Django作为web框架。我们具有启用/禁用产品/类别/商户等功能。这些影响必须级联,数据应保持一致。这应该在哪里处理?我可以在数据库中使用触发器来实现这一点,也可以在Django模型中使用诸如pre-save/post-save、pre-init/post-init之类的方法/信号来实现这一点。哪个更合适。我对python比
- 商人有自己的产品
- 商人有门类
- 产品有子类别
- 商户产品类别必须将商户类别作为父类别
如果是关于应用程序的行为,请在django中执行。这是基于观点的。我部分同意。它还涉及设计数据模型的最佳实践为什么只对部分数据模型进行设计。如果您决定让dbms来处理它,为什么不坚持使用它?所有这些都起到了一定作用:1)委员会的设计2)模型在事后没有得到足够的考虑3)软编码反模式@knitti&@eangernoob:“如果是关于应用程序的行为”可能会产生误导。行为是由数据库参数化的/受数据库影响的,所以如果它仅仅是关于应用程序的行为,那就更好了。”但最好的是,/a数据库可以并且应该包含尽可能多的应用程序会话控制流和会话状态(即适当的软编码)这两种方法都有优点和缺点,为了做出正确的决策,还缺少许多细节。您想要什么信息?