2

假设我有以下两个模型taskperson. 现在每个都person可以有多个任务(一对多的关系)。

现在在一个人的管理应用程序中,我只能为每条记录添加一个外键,因此我必须为person具有不同task但相同的email字段name创建多个记录。

有什么我可以做的personAdmin,可以让我foreign keys为同一个人添加多个,并在后端创建多个记录?

class task(models.Model):
   description = models.CharField(max_length=100)

class person(models.Model):
   task  = models.ForeignKey(Author, on_delete=models.CASCADE)
   email =models.CharField(max_length=100) 
   name  = models.CharField(max_length=100)

class personAdmin(admin.ModelAdmin):
      pass
4

1 回答 1

0

您可以添加第三个表,前两个表都作为 FOREIGN KEY。

所以这就是你目前所拥有的

class ToDo_Task(models.Model):
   description = models.CharField(max_length=100)

class User(models.Model):
   task  = models.ForeignKey(Author, on_delete=models.CASCADE)
   email =models.CharField(max_length=100) 
   name  = models.CharField(max_length=100)

添加第三个表

class person_task(models.Model):
    task = models.ForeignKey(ToDo_Task, on_delete = models.CASCADE)
    person = models.ForeignKey(User, on_delete = models.CASCADE)
    ...

您可以在新表中添加更多字段。

于 2020-01-03T03:26:16.457 回答