[pyar] [Django] Consulta Many to Many

Ale peralta.alejandro en gmail.com
Jue Oct 20 18:56:35 ART 2011


El día 20 de octubre de 2011 16:01, matias benedetto
<matias.benedetto en gmail.com> escribió:
> Holaaa
>
> Tengo dos modelos en Django: Producto y Color.
> Lo que quiero hacer, y no se como escribir, es una consulta que obtenga
> todos los colores que no esten asociados a un producto dado en el many to
> many.
> A alguien se le ocurre como podría escribirse eso?
>
> simplificando los modelos son:
>
> class Color(models.Model):
>     nombre = models.CharField(max_length=30)
>
>
> class Producto(models.Model):
>     nombre = models.CharField(max_length=30)
>     colores = models.ManyToManyField(Color)
>

Color.objects.filter(producto__isnull=True) ?

Creo que eso debería andar. Fijate que django por defecto hace las
relaciones simétricas.

Otra sería hacer

filter(lambda x : x.producto_set.all().count() == 0,
Color.objects.all())  pero esto ya usa python y no es todo en la base
de datos. Me imagino que algo se puede hacer con los agregates, pero
to lo dejo a vos :-P



-- 
Ale.



More information about the pyar mailing list