这可能是一个数据库设计问题,但我想不出更好的办法。在其他几个中,我有这些模型:
class User(models.Model):
name = models.CharField( max_length=40 )
# some fields omitted
bands = models.ManyToManyField( Band )
和
class Band(models.Model):
creator = models.ForeignKey( User )
# some fields omitted
name = models.CharField( max_length=40 )
所以基本上,我有一个用户实体,它与乐队实体有多对多的关系。转折是我想要一个特殊的用户,他在网站上“创建”了乐队,以拥有特殊的编辑能力。于是我往前走,添加了一个名为 creator 的外键。代码无法运行,因为 Band 在源代码中位于 User 之后。所以我转发声明class Band(models.Model): pass
。遗憾的是,这似乎不是一个好主意,因为现在 Band 是唯一一个在 django admin 中不显示任何界面元素的模型(Bands 模型在那里,只是无法编辑)。
我的问题是,我应该对模型进行哪些更改才能使其正常工作?(如有)