【发布时间】:2012-07-10 15:07:42
【问题描述】:
试图更好地处理 django 数据库关系的处理方式。 任何想法表示赞赏。
考虑以下示例模型:
class Things(models.Model):
name = models.CharField(max_length=20)
class Stuff(models.Model):
name = models.CharField(max_length=20)
information = models.ManyToManyField('Information')
things = models.ForeignKey('Things')
class Information(models.Model):
name = models.CharField(max_length=20)
stuff = models.ForeignKey('Stuff')
syncdb: AttributeError: 'ManyToManyField' object has no attribute 'ForeignKey' 导致错误。如果我在Stuff 模型中同时包含ManyToManyField 和Foreign Key 字段,则会导致错误结果。
有没有办法让这两种关系都存在?感谢您的任何想法。
【问题讨论】:
-
是不是有冲突。在 Stuff 中,您有 ManyToMany 和 Information,但在 ManyToOne 中有 Stuff 在 信息.
-
从您的代码示例中无法判断 Information 和 Stuff 之间的关系应该是一对多还是多对多。
-
这个想法是
Stuff可以有多个information,但Information引用了一种Stuff。所以从Stuff到Information的ManyToMany,以及从Information到Stuff的ForeignKey。它在我的脑海中效果很好,但在 Django 中却不行。有什么想法吗?
标签: python database django models relationships