鑑於下面的簡化示例,我將如何訪問查詢集中的自定義「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)