Чтобы проверить, существует ли объект 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