ORM查询练习:
import os import sys if __name__ == '__main__': # 加载Djang00项目的配置信息 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ormday69.settings") # 导入Django,并启动Django项目 import django django.setup() from app01 import models #查找所有书名里包含沙河的书 ret = models.Book.objects.filter(title__contains="沙河") print(ret) #查找所有出版日期是2018年的书 ret = models.Book.objects.filter(publisher_date__year = 2018) print(ret) #查找价格大于10元的书 ret = models.Book.objects.filter(price_gt =10) print(ret) #找到载沙河的出版社 ret = models.Publisher.objects.filter(city="沙河") print(ret) #distinct #查询所有书关联的出版社 ret = models.Book.objects.all().value_list("publisher_name") print(ret) print(ret.distinct())#对Queryset去重 #将所有的书的价格倒叙排序 ret = models.Book.objects.all().orde_by("price").reverse() print(ret) #支持符号表示倒叙 ret = models.Book.objects.all().orde_by("-price") print(ret) #查询书名是沙河异闻录得书的出版社的city ret = models.Book.objects.filter(title="沙河异闻录").values("publisher__city") print(ret) #查询书名是沙河异闻录得书的作者的爱好(跨两张表) ret = models.Book.objects.filter(title="沙河异闻录").values("authors__detail__hobby") print(ret)