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

2020-08-26 10:54:00 浏览数 (1)

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

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

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

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

代码语言:javascript复制
author_obj = models.Author.objects.get(name="gong")
print(author_obj)
输出:author_name:gong

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

代码语言:javascript复制
author_obj.book.create(title="zabbix从入门到精通",publisher_id=3)

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

代码语言:javascript复制
book_obj = models.Book.objects.get(title="java")
author_obj.book.add(book_obj)

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

代码语言:javascript复制
book_obj = models.Book.objects.get(title="java")
author_obj.book.remove(book_obj)

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

代码语言:javascript复制
author_obj.book.remove(4)

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

代码语言:javascript复制
author_obj.book.clear()

0 人点赞