Django Rest Framework как проверить существует объект или нет?

Я пытаюсь проверить, существует ли объект или нет, и вот как я это делаю:

try:
    control = Card.objects.filter(cc_num = cc_number)[0]
    exists = True
except (IndexError):
    exists = False

Это работает, но мне интересно, есть ли более практичный способ?

вы можете сделать примерно следующее:

if model.objects.filter(email = email).exists():
    # at least one object satisfying query exists
else:
    # no object satisfying query exists

Проверьте это: https://docs.djangoproject.com/en/stable/ref/models/querysets/#django.db.models.query.QuerySet.exists

попробуйте это: используйте Card.objects.get(), поскольку cc_num уникален, и будет получен только один объект, если он существует

try:
    controls = Card.objects.get(cc_num == cc_number)
    #do something
except DoesNotExist:
    #do something in case not

https://www.codegrepper.com/code-examples/python/check+if+a+value+exist+in+a+model+Django

вы можете попробовать вот так, импортируйте это

from django.core.exceptions import ObjectDoesNotExist

try:
   controls = Card.objects.get(cc_num == cc_number)
   #do something
except ObjectDoesNotExist:
   #do something in case not
Вернуться на верх