ORM查询之基于对象的正向查询与反向查询
对象形式的查询
# 正向查询
ret1=models.Book.objects.first()
print(ret1.title)
print(ret1.price)
print(ret1.publisher)
print(ret1.publisher.name) # ret1.publisher是book属性,是Publish对象,非queryset集合
# 反向查找
ret2=models.Publish.objects.last()
print(ret2.name)
print(ret2.city)
#如何拿到与它绑定的Book对象呢?
print(ret2.book_set.all()) # ret2.book_set是一个queryset集合,all()可以省略
print(ret2.book_set.all().values('title').distinct()) # 去重
ORM查询之基于条件的正向查询与反向查询
单表条件查询[双下划线实现表关联]:使用逗号分隔可以实现and的条件查询
# models.Book.objects.filter(id__lt=10, id__gt=1) # 获取id大于1 且 小于10的值
# models.Book.objects.filter(id__in=[11, 22, 33]) # 获取id等于11、22、33的数据
# models.Book.objects.exclude(id__notin=[11, 22, 33]) # not in
# models.Book.objects.filter(title__contains=&#