【发布时间】:2012-03-10 07:03:04
【问题描述】:
我来自 Rails 背景,在使用 Django 中提供的“关联方法”时遇到了一些麻烦。我有两个模型(为简洁起见已简化),如下所示:
class User(models.Model):
username = models.CharField(max_length=100, unique=True)
companies = models.ManyToManyField('Company', blank=True)
class Company(models.Model):
name = models.CharField(max_length=255)
根据 Django 文档:
“哪个模型具有 ManyToManyField 并不重要,但您应该只将它放在其中一个模型中——而不是两者。”。
所以我明白,如果我有一个名为 user 的用户实例,我可以这样做:
user.companies
我的问题是我该如何做相反的事情?如何获取属于公司实例的所有用户,比如说公司:
company.users # This doesn't work!
这样做的惯例是什么?我读过的文档并没有真正涵盖这一点。我需要关联以双向工作,所以我不能简单地将它从一个模型移动到另一个模型。
【问题讨论】:
标签: django django-models