Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's best practice to check if an object is part of a ManyToMany relationship in Django

Tags:

orm

django

from an instance of Site with a ManyToMany relationship to Kiosk, i'd like to check if a Kiosk object is part of the relationship.

I could do

self.apps.get(id=app_id).exists() and check if True

or

self.apps.get(id=app_id) and catch the ObjectDoesNotExist error

or

self.apps.filter(id=app_id) and check if True
  • If I have to catch a possible ObjectDoesNotExist error, I may as well use the second one
  • I can do the second but doesnt seem super clean
  • can use the third one but using filter on a unique ID seems wrong to me

You can tell me to use whatever works and that'll be a valid answer ;-)

like image 373
philgo20 Avatar asked Mar 15 '10 17:03

philgo20


1 Answers

I would use

self.apps.filter(id=app_id).exists()

What's wrong with that?

like image 114
Dmitry Shevchenko Avatar answered Sep 29 '22 08:09

Dmitry Shevchenko