Django - 模型 - 如何描述两个模型之间的特定双向关系?
Django - models - how to describe a specific bidirectional relation between two models?
我有两个模型:人和部门。每个人可以在一个部门工作。部门可以被很多人运行。我不确定如何在 Django 模型中构建这种关系。
这是我的一次失败尝试 [models.py]:
class Person(models.Model):
department = models.ForeignKey(Department)
firstname = models.TextField(db_column='first_name')
lastname = models.TextField(db_column='last_name')
email = models.TextField(blank=True)
class Department(models.Model):
administration = models.ManyToManyField(Person)
name = models.TextField()
我知道该代码不起作用,因为 Person
class 在定义 Department 之前在其 ForeignKey 关系中引用了 Department
class。同样,如果我将 Department 定义移动到 Person 定义之前,Department
class 将在定义 Person 之前在其 ManyToMany 关系中引用 Person
class。
在 Django 中为这种特定关系建模的正确方法是什么?
如果您能提供示例,我将不胜感激(我是新手)。
您可以将模型 class 名称作为字符串,如
class Person(models.Model):
department = models.ForeignKey('Department')
....
关于 foreignkey
关系的 django 文档的前几行对此进行了解释。
我有两个模型:人和部门。每个人可以在一个部门工作。部门可以被很多人运行。我不确定如何在 Django 模型中构建这种关系。
这是我的一次失败尝试 [models.py]:
class Person(models.Model):
department = models.ForeignKey(Department)
firstname = models.TextField(db_column='first_name')
lastname = models.TextField(db_column='last_name')
email = models.TextField(blank=True)
class Department(models.Model):
administration = models.ManyToManyField(Person)
name = models.TextField()
我知道该代码不起作用,因为 Person
class 在定义 Department 之前在其 ForeignKey 关系中引用了 Department
class。同样,如果我将 Department 定义移动到 Person 定义之前,Department
class 将在定义 Person 之前在其 ManyToMany 关系中引用 Person
class。
在 Django 中为这种特定关系建模的正确方法是什么? 如果您能提供示例,我将不胜感激(我是新手)。
您可以将模型 class 名称作为字符串,如
class Person(models.Model):
department = models.ForeignKey('Department')
....
关于 foreignkey
关系的 django 文档的前几行对此进行了解释。