[pyar] [django] Un filtro de django que no me sale

Iván Raskovsky raskovsky en gmail.com
Lun Ago 23 08:38:00 ART 2010


2010/8/23 Juan BC <jbc.develop en gmail.com>:
>>>> import jugadores
>
>>>> qs = Grupo.jugadores_set.all()
>>>> jugadores.Jugadores.exclude(pk__in=qs)
>
> y anduvo

Hola! Aprovecho para hacer este mi Hola Mundo..

Un granito de arena:
http://docs.djangoproject.com/en/dev/ref/models/querysets/#in la parte
de Performance Considerations

Django transforma eso en SQL anidado, pero para algunas base de datos
es más eficiente hacer dos llamados.
Podés probar haciendo:

>>> values = qs.values_list('pk', flat=True)
>>> jugadores = Jugador.objects.exclude(pk__in=list(values))

Otro punto, por convención de Django, los modelos deberían llamarse en
singular, en este caso Jugador, si es que representa a 1 solo jugador.

Saludos,
    Iván



More information about the pyar mailing list