def index(request):
expiring_list = probe.objects.filter("isExpired=True")
output = ', '.join([p.serial for p in expiring_list])
return HttpResponse(output)
isExpired
是一个布尔函数。我应该如何修改过滤器,以便过滤器不会引发ValueError
?
答案 0 :(得分:1)
我认为isExpired不是模型中的字段,而是对上一个问题的引用Refresh a field from another table [Django]
我认为exp_date是您正在寻找的字段。
试试这个:
import datetime
def index(request):
expiring_list = probe.objects.filter(exp_date__lt=datetime.date.today())
output = ', '.join([p.serial for p in expiring_list])
return HttpResponse(output)
答案 1 :(得分:0)
您正在以错误的格式进行查询。
您的查询格式应为:
expiring_list = probe.objects.filter(isExpired = True)
如果isExpired
是您的模型字段,则需要进行此查询。但是既然你说它是一个函数,假设函数在类中,你需要以下列方式获取所有对象:
expiring_list = []
objects = probe.objects.all()
for obj in objects:
if obj.isExpired() == True:
expiring_list.append(obj)
expiring_list现在将包含模型探测的所有对象,其中isExpired
函数返回True