Django ORM - exists()

레코드가 혹은 object 가 있는 지 조사할 때 사용되는 method???

exists() 라는 게 있는데 아래 글 처럼 약간 고민해야 되는 부분이 있네요. 체크 이후에 그 오브젝트를 활용할 생각이 있으면 그냥 if obejct: 이렇게 하고 단순히 체크만 하면 exist() 가 조금 유리하다는...

 

https://docs.djangoproject.com/en/4.1/ref/models/querysets/#django.db.models.query.QuerySet.exists

 

QuerySet API reference | Django documentation | Django

Django The web framework for perfectionists with deadlines. Overview Download Documentation News Community Code Issues About ♥ Donate

docs.djangoproject.com

 

https://medium.com/@bdv111/django%EC%97%90%EC%84%9C-exists-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-b3af4d387930

물론, 이후에 동일한 QuerySet을 결국 evaluate하여 사용해야하는 코드가 뒤따른다면, exists()를 사용하는 것은 오히려 불필요한 query를 하나 더 만들어내는 것일 수 있습니다. 동일한 QuerySet이 어차피 뒤에서 evaluate될 것이라면, 차라리 바로 위처럼 if 문 시점에 미리 evaluate 되게 하고 이를 caching하여 사용하는 것이 더 효율적일 것입니다.

망망대해 보트 보여요?

Pexels에서 Lewis Ashton님의 사진: https://www.pexels.com/ko-kr/photo/13041243/