[pyar] [django] Duda con relaciones M2M

fisa fisadev en gmail.com
Jue Mar 21 15:36:37 ART 2013


El día 21 de marzo de 2013 14:39, Luis Masuelli
<luismasuelli en hotmail.com> escribió:
> Tengo una duda en lo que va de agregar relaciones M2M. Mi tema es que la
> relacion M2M es, en ambos extremos, contra django.contrib.auth.models.User,
> y atraves de un modelo. Concretamente:
>
> #archivo de modelos
> from django.db import models
> from django.contrib.auth.models import User
>
> class Followship(models.Model):
>         #aca hay OTROS campos adicionales
>         followed = models.ForeignKey(User, null=False,
> related_name="followers_set")
>         follower = models.ForeignKey(User, null=False,
> related_name="followed_set")
> #fin del archivo de modelos
>
> Si yo hago User.objects.get(pk=1).followers_set tendre un iterador de
> objetos Followship.
> . ¿como hago para obtener un queryset que itere sobre los correspondientes
> follower, en lugar de iterar sobre los objetos Followship? (quiero obtener
> un queryset y no un iterador/generador, el queryset tiene que ser de
> instancias y no de valores, y la complejidad en terminos de cantidad de
> sentencias SQL tiene que ser constante) ¿Hay forma de agregar relaciones M2M
> a User que tengan el trough=Followship? (descartemos la idea de crear otro
> modelo User según lo provisto por 1.5).
>
> Gracias.
>

Probá con esto:

followers = User.objects.filter(id__in=User.objects.get(pk=1).followers_set.values_list('follower'))

saludos!

--
fisa  -  Juan Pedro Fisanotti



More information about the pyar mailing list