引言:
在现实中的问题就是, 一本书有多个作者, 一个作者可以出版多本书, 假定西游记的作者中想添加老王, 或者在西游记的众多撰写作者中去除一人...
发现网上都是
book_obj.author.add(*author1)
为啥我亲自测试带 * 会报错!!!
解决
model模型
class Book(models.Model):
author = models.ManyToMany(to='author', relate_name='author')
"""
...字段
"""
class author(models.Model):
"""
...字段
"""
基本方法
# 增、删、改
add() # 增加
remove() # 删除表,只删一条数据
clear() # 清空表, 把所有关系的表全部清空 例如 book_obj.author.clear() 表示把当前书籍对象的所有作者全部清空
增
book_obj = models.Book.objects.create(
title="西游记",
price=123,
)
author1 = author.objects.get(id=1)
book_obj.author.add(author1)
# save()方法保存
book_obj.save()
删
book_obj = models.Book.objects.create(
title="西游记",
price=123,
)
author1 = author.objects.get(id=1)
book_obj.author.remove(author1)
# save()方法保存
book_obj.save()