当前分类:python>>正文

Django多对多模型数据添加小例子

来源:互联网   时间:2022年6月15日   编辑

Django有提供三种数据模型,一种是一对一的,一种是一对多的,一种是多对多的。

本篇文章,主要通过小例子来给大家认识一下django中的多对多数据模型。

我们来看下面这个例子

首先,执行以下指令,创建一个应用

django-admin startapp ebooks

 

接下来,咱们在models.py中建两个数据类

一个是Book,另一个是Author

image

最后一个类中有一句books=models.ManyToManyField(Book)

这句话,意思就是建立多对多的数据级联关系。

接下来我们需要执行数据表的迁移和创建

python manage.makemigrations

python manage.py migrate

完成这两步后,我们可以看到数据库中生成了三张表。

 

image

其他表,都是系统默认创建的,不用管。

接下来,我们在django的Shell模式下,添加数据库数据。

执行下面语句,进入pyhton shell 模式

python manage.py shell

接下来我们做的事情。

导入模型

from ebooks.models import *

然后新建两本书

image

一本书,名称为python,一本为django

然后为这两本书添加同一个作者wang

image

反过来,我们也可以像下面这样做

先创建一个作者

image

然后这个作者有写了两本书,我们添加到他名下

image

注意语法格式。

后面这两句话,使用的小写的books这个单词,实际上就是一开始创建ManyToManyFiled数据模型关联时候的那个单词,是没有限制的,你也可以换成其他的单词。

之后,我们看下数据库有什么变化

image

可以看到book_id为2、3的是同一个作者author_id,后面book_id为4、5的为同一个author_id

想要更好的了解这个多对多数据模型,建议自己动手尝试一下哦。

[猜你喜欢]

标签: 站长圈