2

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

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

但现在我需要获取基于 Toy 实例的 Boys 列表。关系应该是对称的,但我不知道语法。


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

4

2 回答 2

6

它应该是:

toy_instance.boy_set.all()

看这里:

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

于 2009-01-27T14:13:48.337 回答
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() 就是你要找的

于 2009-01-27T14:14:34.403 回答