Estoy tratando de seguir el código de la documentación de Django:Django - búsquedas inversas con ManyToManyField
class Person(models.Model):
name = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Group(models.Model):
name = models.CharField(max_length=128)
members = models.ManyToManyField(Person, through='Membership')
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
group = models.ForeignKey(Group)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
>>> ringo = Person.objects.create(name="Ringo Starr")
>>> paul = Person.objects.create(name="Paul McCartney")
>>> beatles = Group.objects.create(name="The Beatles")
>>> m1 = Membership(person=ringo, group=beatles,
... date_joined=date(1962, 8, 16),
... invite_reason= "Needed a new drummer.")
>>> m1.save()
>>> beatles.members.all()
[<Person: Ringo Starr>]
>>> ringo.group_set.all()
Mi modelo es el siguiente:
class Trip(models.Model):
members = models.ManyToManyField(User,blank=True,null=True,through='TripReservation')
Pero cuando llamo user.group_set. all() para una instancia de usuario dada, me sale un error de que no hay ningún atributo group_set
¿Usted intentó 'trip_set' todavía? –
Lo hice, pero supongo que no había reconstruido el DB así que no funcionó, ¡pero después de reconstruir el DB que lo hizo funcionar! ¿Puedo llamar esto desde una plantilla? Por ejemplo, si quiero ver si un viaje está en un "request.user.trip_set.all", ¿cómo lo haría? – JPC
@jpc - Parece que está tratando de parlayar esta pregunta en el próximo número que está teniendo – MattoTodd