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()

我知道该代码不起作用,因为在定义Department之前,Person类在其ForeignKey关系中引用了Department类。同样,如果我将Department定义移到Person定义之前,那么在定义Person之前,Department类将在其ManyToMany关系中引用Person类。

在Django中建立这种特定关系的正确方法是什么?如果你能举个例子(我是个新手),我将不胜感激。

您可以将模型类名作为字符串,作为

class Person(models.Model):
     department = models.ForeignKey('Department')
     ....

django-doc关于foreignkey关系的前几行解释了这一点。

最新更新