django 多對多表操作
阿新 • • 發佈:2019-02-12
正向新增
b1=Book.objects.get(id=1) a1=Author.objects.get(id=2) b1.authors.add(a1) #可以直接新增obj b1.authors.add(3) #可以直接新增id au_list=Author.objects.all() b1.authors.add(*au_list) #可以直接新增obj列表 b1.authors.add(*[1,2,3]) #可以直接新增id列表
反向新增
a2=Author.objects.get(id=1) b2=Book.objects.get(id=2) a2.book_set.add(b2) a2.book_set.add(3) a2.book_set.add(*Book.objects.all()) a2.book_set.add(*[1,2,3,4])
正向刪除
# 刪除id=1的書籍的所有作者 b1=Book.objects.get(id=1) b1.authors.clear() # 刪除id=2的書籍的作者id=1,2,5 b2=Book.objects.get(id=2) b2.authors.remove(1) b2.authors.remove(*[2,5])
反向刪除
# 刪除作者id=1的所有書籍 a1=Author.objects.get(id=1) a1.book_set.clear()