📅  最后修改于: 2023-12-03 15:40:30.568000             🧑  作者: Mango
在 Django 中,我们经常需要检查某个对象是否存在于数据库中。这是用于检查对象是否存在的几种方法。
exists()
方法是最常用的方法之一。它返回一个布尔值,指示查询是否有任何结果。
from django.contrib.auth.models import User
if User.objects.filter(username='john').exists():
print('John exists')
else:
print('John does not exist')
这个简单的代码段使用 exists()
方法检查 User
模型中是否存在用户名为 'john' 的用户。
get()
方法返回单个对象,如果找不到对象,则引发 DoesNotExist
异常。因此,您可以捕获 DoesNotExist
异常来检查对象是否存在。
from django.contrib.auth.models import User
try:
user = User.objects.get(username='john')
print('John exists')
except User.DoesNotExist:
print('John does not exist')
这个代码段使用 get()
方法从 User
模型中获取用户名为 'john' 的用户,并捕获 DoesNotExist
异常以检查该用户是否存在。
count()
方法返回对象数量。因此,如果数量为 0,则对象不存在。
from django.contrib.auth.models import User
if User.objects.filter(username='john').count() == 0:
print('John does not exist')
else:
print('John exists')
这个代码段使用 count()
方法从 User
模型中计算用户名为 'john' 的用户数量,并检查是否存在用户。
以上是检查 Django 对象是否存在的几种方法。您可以根据自己的喜好选择其中的一种来实现。