数据库(二)--多对多相关操作

时间:2022-07-23
本文章向大家介绍数据库(二)--多对多相关操作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上一节我们建立了四张表person_publisher,person_author,person_book,person_author_book:

最后一张表是多对多的关系,由系统自动创建。

Book中publisher默认关联Publisher中的主键,生成一个publisher_id字段。

(1)取得名为gong的对象(注意,我们得到的是对象)

author_obj = models.Author.objects.get(name="gong")
print(author_obj)
输出:author_name:gong

(2)create-为作者名为gong的新建一本书

author_obj.book.create(title="zabbix从入门到精通",publisher_id=3)

(3)add-为gong作者,添加一本书(java)

book_obj = models.Book.objects.get(title="java")
author_obj.book.add(book_obj)

(4)remove-为gong作者删除一本书(python)

book_obj = models.Book.objects.get(title="java")
author_obj.book.remove(book_obj)

(5)为作者小白,删除一本书,书的id为4

author_obj.book.remove(4)

(6)clear-把作者为gong的关联的书,全部清空删除

author_obj.book.clear()