我有以下模型:
class Hospitalization(models.Model):
patient = models.ForeignKey(Patient)
room = models.ForeignKey(Room)
date_in = models.DateField()
date_out = models.DateField(blank=True, null=True)
...
我想列出目前的住院情况。所以我添加了一个@property 'is_current':
@property
def is_current(self):
today = date.today()
if self.date_in and self.date_out:
if self.date_in <= today and self.date_out >= today:
return True
if self.date_in and not self.date_out:
if self.date_in <= today:
return True
但是,当尝试从我的views.py 中的过滤器调用该属性时,我收到以下错误: *Cannot resolve keyword 'is_current' into field。选项包括:date_in、date_out、id、患者、房间*
然后我想我可以和经理一起做这件事。所以我添加了一个经理:
class Hospitalization(models.Model):
def get_query_set(self):
today = date.today()
if self.date_in and self.date_out:
return qs.filter(date_in__lte=today, date_out__gte=today)
if self.date_in and not self.date_out:
return qs.filter(date_in__lte=today)
但这也不起作用: *AttributeError: 'HospitalizationManager' 对象没有属性 'date_in'*
Django推荐的解决方法是什么?