models操作
参考
思路:
给publish插数据
给book插数据
给author插数据
给book_author插数据
调用外键: Book.publish # 这本书对应出版社的一条记录(对象)
调用多对多键: Book.author # 这本书绑定关系的作者的记录(queryset)
book_obj.author.all()
book_obj.author.add(author_obj)
book_obj.author.remove(author_obj)
author_obj = Author.objects.all()
book_obj.author.add(*author_obj)
通过book找它的author:
python这本书的作者
Author.objects.filter(book__name="python")
通过author找它的book
龟叔出过的书的name+price(用系统自带的manytomany方法)
Book.objects.filter(author__name="龟叔").values('name', 'price')
自定义book_author表:
查出id=2的book的author:(两张表借助第三张表book_author取数据)
方法1:
book_obj = Book.objects.get(id=2)
book_obj.book_author_set.all() # book_author的queryset对象
print(book_obj.book_author_set.all()[0].author) # 查出作者.
方法2:
Book.objects.filter(book_author__author_id__name="龟叔").values('name','price')
思路:
给publish插数据
给book插数据
给autho