Python 太多值无法解压缩[Django]

Python 太多值无法解压缩[Django],python,django,Python,Django,isExpired是一个布尔函数。如何修改筛选器,使筛选器不会引发ValueError?您以错误的格式进行查询 您的查询应采用以下形式: def index(request): expiring_list = probe.objects.filter("isExpired=True") output = ', '.join([p.serial for p in expiring_list]) return HttpResponse(output) 这是您在模型字段为is

isExpired
是一个布尔函数。如何修改筛选器,使筛选器不会引发
ValueError

您以错误的格式进行查询

您的查询应采用以下形式:

def index(request):
    expiring_list = probe.objects.filter("isExpired=True")
    output = ', '.join([p.serial for p in expiring_list])
    return HttpResponse(output)
这是您在模型字段为
isExpired
时需要进行的查询。但既然您说它是一个函数,那么假设该函数在类中,您需要通过以下方式获取所有对象:

expiring_list = probe.objects.filter(isExpired = True)

expiring_列表现在将包含model probe的所有对象,其中
isExpired
函数返回
True

参考前面的问题,我认为isExpired不是模型中的一个字段

我认为exp_date是您正在寻找的领域

试试这个:

expiring_list = []

objects = probe.objects.all()

for obj in objects:
    if obj.isExpired() == True:
        expiring_list.append(obj)

IsExpired是一个使用到期日期字段输出布尔值的函数,因此我不能将其用作普通字段IsExpired是类中的函数吗?到期日是模型中的一个字段。如果是这种情况,那么您需要以下内容:objects=probe.objects.all()for obj in objects:ifIf isExpired是一个函数,验证应该是这样的:
If obj.isExpired():
@Arpit Goyal我必须稍微修改代码,使其看起来像这样:If obj.isExpired()==True:基本上主要的区别是isExpiredYeah后面的参数括号,对此我很抱歉。这是一个诚实的错误:p这里的问题是我不知道如何调用函数,但感谢这种替代方法:)
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)