实例背景
有一张作者表 一张书籍表 ,作者表做了多对多
books = models.ManyToManyField(to='Book')
create()
通过作者创建书籍
# 会自动保存
# book创建一本书,然后在作者和书关系表中关联记录
author_obj.books.create(title='水浒传')
add()
与set相似
'''先获取到书对象,然后给关系表里边add进去'''
book_obj = models.Book.objects.get(id=1)
author_obj.books.add(book_obj)
'''add多个:'''
book_objs = models.Book.objects.filter(id__gt=2)
author_obj.books.add(*book_objs) # 【* 就是把列表打散,再传入】
'''或者直接添加id'''
author_obj.books.add(2)
remove() 删除
# 从指定作者里 删除书籍
book_obj = models.Book.objects.get(title='书籍')
author_obj.books.remove(book_obj)
# 把 关联的书里边把id=8的记录删掉
author_obj.books.remove(8)
clear() 清空关联
author_obj.books.clear()