【发布时间】:2011-05-28 20:34:07
【问题描述】:
我的模型中有以下代码,用于确定 Entry 是否可计费:
class Entry(models.Model):
[ .. ]
@property
def is_billable(self):
return self.tags.filter(billable=False).count() == 0
Entry 对 Project 有一个 FK。在确定 Project 的剩余预算时,我会遍历所有条目,并检查 is_billable 是否返回 True:
@property
def remaining_budget(self):
[ .. ]
for entry in self.entry_set.all():
if entry.is_billable:
remaining_budget -= entry.minutes
这对数据库来说有点重,因为它会为每个条目触发一个查询。我正在寻找一种优化方法,欢迎提供提示和提示。
【问题讨论】:
标签: django django-models django-orm