小编dev*_*arb的帖子

在django中放置业务逻辑的位置

例如,帐户1 - >*用户 - > 1身份验证 1帐户有多个用户,每个用户将拥有1个身份验证

我来自java背景,所以我通常做的是

  1. 将这些类定义为java bean(即,只是getter和setter,没有附加逻辑)
  2. 创建AccountManager ejb类,定义create_account方法(带1个帐号,用户列表)
  3. 准备Web层中的数据,然后将数据传递到AccountManager ejb,例如: accountManager.createAccount(account, userList)

但是在django中,框架主张将域逻辑放入模型类(行级)或关联的管理器类(表级),这使得事情有点尴尬.是的,这是好的,如果你的逻辑是只涉及一个表,但在实际应用中,通常每一步都会涉及多个不同的表,甚至数据库,所以我应该在这种情况下怎么办?

将逻辑放入View中?我认为这根本不是好的做法.甚至覆盖模型类中的save方法,使用**kwargs传入额外的数据?然后后端会破裂.

我希望这说明我对业务逻辑放在django应用程序中的位置感到困惑.

django transactions business-logic django-models django-admin

17
推荐指数
2
解决办法
6643
查看次数