获取异常:
IndexError django.db.models.sql.compiler in apply_converters
IndexError: list index out of range in djagno queryset
我正在这样做
object =Info.objects.get(is_active=False,device_id=device_id)
此处device_id是数据库架构中的长文本类型,已被索引
object =Info.objects.get(is_active=False,device_id=device_id)
答案 0 :(得分:3)
您正在使用get
方法来获取对象。
给出查询
object =Info.objects.get(is_active=False,device_id=device_id)
在此情况下,可能不存在 device_id 或 is_active 匹配查询。
您可以使用尝试,获取中的方法除外。
try:
object =Info.objects.get(is_active=False,device_id=device_id)
except:
object = None
或者您必须使用 filter 方法
object =Info.objects.filter(is_active=False,device_id=device_id)[0]
OR
object =Info.objects.filter(is_active=False,device_id=device_id).first()
如果查询未获取数据,则过滤器查询将结果为None。对于不匹配大小写的条件,不会引发错误。
答案 1 :(得分:1)
您可以尝试使用.first(),就像这样:
object = Info.objects.filter(is_active=False, device_id=device_id).first()