【发布时间】:2010-06-20 15:02:33
【问题描述】:
鉴于下面的简化示例,我将如何在查询集中访问我的自定义“current_status”属性?有没有可能?
目前,我想列出所有当前事件并显示当前状态。我可以让属性在模板中显示,但我不能通过它订购查询集。或者,我是否需要在“选择”中创建一个带有某种嵌套“if”语句的自定义管理器?
class Event(models.Model):
....
date_registered = models.DateField(null=True, blank=True)
date_accepted = models.DateField(null=True, blank=True)
date_reported = models.DateField(null=True, blank=True)
...
def _get_current_status(self):
...
if self.date_reported:
return "Reported"
if self.date_accepted:
return "Accepted"
if self.date_registered:
return "Registered"
if self.date_drafted:
return "Drafted"
current_status = property(_get_current_status)
【问题讨论】:
标签: django django-models django-queryset