gpt4 book ai didi

python - Django查询没有返回值怎么办?它给我错误

转载 作者:太空狗 更新时间:2023-10-30 00:28:53 27 4
gpt4 key购买 nike

to_friend = User.objects.filter(username=friend_q)[0:1]

如果“friend_q”不在 User.username 中...它会报错。推荐的策略是什么?

谢谢

最佳答案

如果 friend_q 不是数据库中的用户,to_friend 将等于一个空列表。

>>> from django.contrib.auth.models import User
>>> User.objects.filter(username='does-not-exist')
[]

但是,最好使用 get() 方法来查找特定条目:

>>> User.objects.get(username='does-exist')
<User: does-exist>
>>> User.objects.get(username='does-not-exist')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/usr/lib/python2.5/django/db/models/manager.py", line 120, in get
File "/usr/lib/python2.5/django/db/models/query.py", line 305, in get
DoesNotExist: User matching query does not exist.

您现在可以捕获 DoesNotExist 异常并采取适当的措施。

try:
to_friend = User.objects.get(username=friend_q)
except User.DoesNotExist:
# do something, raise error, ...

关于python - Django查询没有返回值怎么办?它给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1542878/

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