扭转ManyToMany关系

时间:2009-01-27 13:24:06

标签: django django-models

我有男孩和玩具。两个django模型。玩具可以由不止一个男孩拥有,每个男孩可以拥有多个玩具......所以我在Boy中放了一个ManyToMany字段。

如果我想要一个男孩拥有的玩具清单,这很容易。到目前为止这么好。

但现在我需要根据玩具实例获取男孩列表。关系应该是对称的,但我不知道语法。


注意:不,这些不是我真正的实体名称 - 我只是觉得它可能更容易理解。

2 个答案:

答案 0 :(得分:6)

应该是:

toy_instance.boy_set.all()

见这里:

http://docs.djangoproject.com/en/dev/topics/db/queries/#many-to-many-relationships

答案 1 :(得分:3)

from django.db import models

class Toy(models.Model):
    name = models.CharField('Name', max_length=250)

    def __unicode__(self):
        return self.name

class Boy(models.Model):
    name = models.CharField('Name', max_length=250)
    toys_owned = models.ManyToManyField(Toy, blank = True)

    def __unicode__(self):
        return self.name

如果toy =是Toy类的实例,那么你正在寻找toy.boy_set.all()