gpt4 book ai didi

python - 为什么在 try block 中出现 MultipleObjectsReturned 错误?

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:35 27 4
gpt4 key购买 nike

在这方面的任何帮助都会很棒。我正在使用 python 2.7 和 django 1.2 这是我的代码:

for save in saved: #list to iterate
try:
sect = obj.get(name=save) #obj is a RelatedManager
except: #if two sections have the same name
sect = obj.filter(name=save)
else:
#finish my code

每次遇到 get() 语句时,我都会收到一个 MultipleObjectsReturned 错误。我不是 Python 专家,所以我想我错过了一些简单的事情。

最佳答案

两个对象的 name 值等于 save 的值

当使用 get 并且返回的行超过 1 行时,它会引发 MultipleObjectsReturned

我认为你应该明确地捕捉到这一点,因为你的 except 本身也会捕捉到 DoesNotExist 错误(以及所有其他错误)

    from django.core.exceptions import MultipleObjectsReturned

try:
sect = obj.get(name=save) #obj is a RelatedManager
except MultipleObjectsReturned: #if two sections have the same name
sect = obj.filter(name=save)[0]
else:
#finish my code

关于python - 为什么在 try block 中出现 MultipleObjectsReturned 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14526355/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com