【发布时间】:2013-03-29 06:46:51
【问题描述】:
这是一个简单的例子来说明我的观点
class A(models.Model):
boolean_field=models.BooleanField(default=False)
name = models.CharField(max_length=50, blank=True)
some_other_field = models.CharField(max_length=10)
def true_value(self):
if self.boolean_field:
return self.name
else:
return ''
def false_value(self):
if not self.boolean_field:
return self.name
else:
return ''
在admin.py
class Aadmin(admin.ModelAdmin):
list_display = ('true_value', 'some_other_field', 'false_value')
我认为数据库被命中两次,在上面的例子中。有什么方法可以一次性获取值并在 list_display 中使用它。有没有办法优化这个要求。
谢谢
【问题讨论】:
-
过早的优化是万恶之源。不要猜测,个人资料。
-
为什么你认为数据库被命中两次?那不是真的。
-
@Daniel 如果这是真的,那么执行没有问题。但我认为它会命中两次,因为有两种单独的方法调用数据库。
-
@catherine 是的,例如在会计中可能需要它,一个是借方金额,一个是贷方金额,具体取决于布尔字段
标签: django django-admin