这是设计问题.
让我们假设我们在Django中有这种模型:
class Payment(models.Model):
purchase = ForeignKeyField(Purchase)
net_price = DecimalField()
is_accepted = BooleanField()
def set_accept(self):
# there will be some logic, which touch purchase, send emails etc.
def price_with_tax(self):
return net_price * (1. + TAX)
Run Code Online (Sandbox Code Playgroud)
我们还有另一个名为actions.py的文件,我们在那里执行其他操作.我们的问题是要确定哪种方法应该放在models.py,这在actions.py.你知道任何常见的方法,指南或类似的东西吗?我想尽可能多地使用现有的解决方案.
谢谢
MVC框架(如Django)中的总体约定是将尽可能多的逻辑放入模型中.这有很多用途:
{{ object.price_with_tax }},而不是为不同的行为呈现不同的视图.对于您的项目布局,您应该尝试在models.py文件中保留任何适用于模型的代码,并尽量避免使用actions.py或helpers.py除非您确实需要它.如果你确实有大量的代码不适合放入models.py(也许你正在实现算法或其他东西),那么惯例是使用a helpers.py.
你可以在以后做更多的事情来保持你的应用程序层次结构清洁和有条理,但这是它的基本要点.
| 归档时间: |
|
| 查看次数: |
356 次 |
| 最近记录: |