这可能是一个数据库设计问题,但我想不出任何好转。其中几个人,我有这些模型:

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 )

所以基本上,我有一个用户实体,其中有许多与带实体一对多的关系。转折是,我想要一个特殊的用户,谁“创造”乐队的网站上有专门的编辑功能。于是,我走上前去,并添加了一个名为创造者ForeignKey的。该代码无法运行,因为乐队用户在源后,就来了。所以我向前声明class Band(models.Model): pass。可悲的是,这似乎并没有被exatly一个好主意,因为现在队是不显示在Django管理的任何界面元素的唯一模式(带模型是存在的,只是不能进行编辑)。

我的问题是我应该做的模型怎样的变化适当地得到这个工作? (如果有的话)

有帮助吗?

解决方案

请参阅: http://docs.djangoproject.com/en的/ dev / REF /模型/场/#外键,该表示:

  

如果您需要创建一个没有模型的关系   尚未被定义,您可以使用该模型的名称,而   比模型对象本身:

 class Car(models.Model):
      manufacturer = models.ForeignKey('Manufacturer')
      # ...

 class Manufacturer(models.Model):
      # ...
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top