繁体   English   中英

Django:IndexError:列表索引超出范围

[英]Django : IndexError: list index out of range

获取异常:

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)

您正在使用get方法来获取对象。

给定查询

object =Info.objects.get(is_active=False,device_id=device_id)

在这种情况下, device_idis_active匹配查询可能不存在。

您可以使用try,除了 get中的方法。

try:
    object =Info.objects.get(is_active=False,device_id=device_id)
except:
    object = None

或者您必须使用过滤器方法

object =Info.objects.filter(is_active=False,device_id=device_id)[0]

要么

object =Info.objects.filter(is_active=False,device_id=device_id).first()

如果查询未获取数据,则过滤查询将结果为None。 对于不匹配大小写的条件,不会引发错误。

您可以尝试使用.first(),它将类似于:

object = Info.objects.filter(is_active=False, device_id=device_id).first()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM