首页 > 解决方案 > 如何在 Django 模型中实现一对多关系?

问题描述

我正在尝试在 Django 模型中创建一对多的关系。我想实现它,如下图所示。

在此处输入图像描述

这是我的代码:

class Book(models.Model):
   book_id = models.IntegerField(primary_key=True)
   name = models.CharField(max_length=255)
   isbn = models.CharField(max_length=255)

class Author(models.Model):
   id = models.IntegerField(primary_key=True)
   name = models.CharField(max_length=255)
   mobile_no = models.CharField(max_length=255)
   book_id = models.ForeignKey(Book)//I want to link it with Book.book_id

标签: djangodjango-models

解决方案


你不需要这样做,django 会自动为你分配。

在关系数据库中,当一个表中的父记录可以潜在地引用另一个表中的多个子记录时,就会发生一对多关系。在一对多关系中,父级不需要有子记录;因此,一对多关系允许零个子记录、单个子记录或多个子记录。要定义多对一关系,请使用ForeignKey

在此处参考此文档


推荐阅读