Чтобы проверить, существует ли объект Django, вы можете использовать следующие методы:
exists()
: этот метод доступен в QuerySet и возвращаетTrue
, если есть какие-либо объекты, соответствующие указанным условиям фильтра. Вот пример:
from myapp.models import MyModel
if MyModel.objects.filter(some_field='some_value').exists():
# Object exists
pass
get()
: этот метод извлекает один объект, соответствующий указанным условиям фильтра, или вызывает исключениеMyModel.DoesNotExist
, если объект не найден. Вы можете перехватить исключение, чтобы обработать случай, когда объект не существует.
from myapp.models import MyModel
try:
obj = MyModel.objects.get(pk=1)
# Object exists
except MyModel.DoesNotExist:
# Object does not exist
pass
first()
: этот метод извлекает первый объект, соответствующий указанным условиям фильтра, или возвращаетNone
, если объект не найден.
from myapp.models import MyModel
obj = MyModel.objects.filter(some_field='some_value').first()
if obj is not None:
# Object exists
pass
last()
: этот метод извлекает последний объект, соответствующий указанным условиям фильтра, или возвращаетNone
, если объект не найден.
from myapp.models import MyModel
obj = MyModel.objects.filter(some_field='some_value').last()
if obj is not None:
# Object exists
pass