在djang中如何捕获多个对象返回错误

2024-05-15 05:33:21 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django中是否可以捕捉到MultipleObjectsReturned错误?

我做了一个搜索查询,如果有多个对象,我希望列表中的第一个对象将被获取,因此我尝试了以下操作:

try:
    Location.objects.get(name='Paul')
except MultipleObjectsReturned:
    Location.objects.get(name='Paul')[0]

但是,它存在于doc

global variable MultipleObjectsReturned does not exist


Tags: 对象djangoname列表getdocobjects错误
1条回答
网友
1楼 · 发布于 2024-05-15 05:33:21

这不是最好的做法。从技术上讲,您可以在不使用异常的情况下执行此操作。你打算在这个例子中使用LocationCar吗?

你可以这样做:

Location.objects.filter(name='Paul').order_by('id').first()

我强烈建议您阅读Django QuerySet API参考。

https://docs.djangoproject.com/en/1.8/ref/models/querysets/

若要回答有关异常存在位置的问题,可以始终在模型本身上访问这些QuerySet异常。E、 g.Location.DoesNotExistLocation.MultipleObjectsReturned。如果已经导入了模型,则不需要导入它们。

相关问题 更多 >

    热门问题