Django模型中是否有查看记录是否存在的快捷方式?
假设我有一个叫做 People
的表格,我想快速检查一下里面是否有一个名字叫 'Fred'
的人。虽然我知道可以通过查询
People.objects.filter(Name='Fred')
然后查看返回结果的长度,但有没有更简单优雅的方法呢?
5 个回答
11
你可以使用 count()
,比如:
People.objects.filter(Name='Fred').count()
如果“姓名”这一列是唯一的,那你可以这样做:
try:
person = People.objects.get(Name='Fred')
except (People.DoesNotExist):
# Do something else...
你也可以使用 get_object_or_404()
,比如:
from django.shortcuts import get_object_or_404
get_object_or_404(People, Name='Fred')
47
在QuerySet API中,有一个叫做 exists() 的方法,这个方法从 Django 1.2 版本开始就可以使用了。