【发布时间】:2020-05-18 11:24:15
【问题描述】:
我有一个这样的模型:
class Agreement(models.Model):
file_no = models.IntegerField(primary_key=True)
contract_date = models.DateField()
contract_time = models.IntegerField()
@property
def calculate_expiry_date(self):
return self.contract_date + relativedelta(years=self.contract_time)
@property
def is_expired(self):
return (self.contract_date + relativedelta(years=self.contract_time)) < timezone.now().date()
is_expired函数为每个协议返回真或假
我有一个像这样的简单过滤器:
class AgreementFilter(filters.FilterSet):
file_no = filters.NumberFilter(lookup_expr='icontains')
class Meta:
model = Agreement
fields = ['file_no',]
我认为我无法过滤属性字段,因为 Django 过滤器在数据库级别运行。那么,如果协议模型对象有效或无效或真或假,我怎样才能使其工作呢
【问题讨论】:
-
“让过滤协议起作用”是什么意思?
-
我想过滤有效或无效的协议模型对象
标签: django python-3.x django-rest-framework django-filters