2010-03-15 10 views
5

desde una instancia de Sitio con una relación ManyToMany con Kiosco; me gustaría comprobar si un objeto Kiosco es parte de la relación.Lo mejor es comprobar si un objeto es parte de una relación ManyToMany en Django

que podía hacer

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

o

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

o

self.apps.filter(id=app_id) and check if True 
  • Si tengo que coger un posible error ObjectDoesNotExist, puedo también utilizar el segundo
  • que ha de hacer el segundo, pero no se parece super limpio
  • puede utilizar el tercero pero utilizando filtro en un identificador único parece mal a mí

¿Me puede decir a usar lo que funcione y que va a ser un ;-) respuesta válida

+0

¿Por qué el uso de un filtro en el ID parece incorrecto? – colinjwebb

+1

Usaría la segunda opción si planeas trabajar con el objeto y la tercera opción si solo quieres comprobar si es parte de la relación – Zach

Respuesta

10

me gustaría utilizar

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

¿Qué hay de malo en eso?

+0

no mucho, solo para dividir los pelos, supongo. – philgo20

Cuestiones relacionadas