我有三个模型client
loan
installment
-贷款的一部分
我应该这样做:
loan-foreignKey(client)
installment-foreignKey(loan)
为了让客户分期付款:
loans = client.loan.all()
result = array()
foreach(loans as loan):
result = result + loan.installments.all()
return result;
或者我应该这样做:
loan-foreignKey(client)
installment-foreignKey(client)
installment-foreignKey(loan)
只是:
client.installment.all()
从程序员的角度来看,FirstWaySeamsCleaner(没有spagetti,没有重复的字段),但我担心性能(您需要在数据库中搜索所有贷款,然后在此贷款中搜索分期付款)
最佳答案
根据Python的禅:扁平比嵌套好。您应该将模型视为对象,并应用面向对象编程的原则。
思考你拥有的实体,并应用这些关系来模拟它们在现实生活中的相互作用。
程序必须为人们阅读而编写,并且只能为机器执行而附带编写