# 1、all():查看所有 book_obj = models.Book.objects.all() print(book_obj) # 打印的结果是QuerySet集合:< QuerySet [<Book: python全栈开发>, < Book: java全栈开发>]> # 2、filter(): 可以实现且关系,但是或关系需要借助Q查询实现 # 查不到的时候不会报错 print(models.Book.objects.filter(title="python全栈开发")) # 查询书名为“python全栈开发” print(models.Book.objects.filter(price="100", author="张三")) # 3、get():如果找不到就会报错,如果有多个值,也会报错,只能拿一个值 print(models.Book.objects.get(title="python全栈开发")) # 拿的是model对象 # 4、exclude():排除条件 print(models.Book.objects.exclude(title="python全栈开发")) # 查看除了书名是"python全栈开发"的信息 # 结果:< QuerySet [<Book: java全栈开发>, < Book: PHP全栈开发>, < Book: PHP全栈开发>, < Book: PHP全栈开发>, < Book: PHP全栈开发>]> # # 5、values():是queryset的一个方法(把对象转换成字典的形式) print(models.Book.objects.filter(title="python全栈开发").values("publish", "author")) # 查看书名为“Python全栈开发”的出版社和作者 # 结果:< QuerySet [{'publish': '机械工业出版社', 'author': '张三'}]> # 6、values_list():是queryset的一个方法(把对象转成元组形式) print(models.Book.objects.filter(title="python全栈开发").values_list("publish", "author")) # < QuerySet [('机械工业出版社', '张三')]> # 7、order_by():排序 print(models.Book.objects.all().order_by("id")) # # 8、reverse():倒序 print(models.Book.objects.all().reverse()) # # 9、distinct():去重(只要结果里面有重复的) print(models.Book.objects.filter(title="PHP全栈开发").values("price").distinct()) # 结果:< QuerySet [{'price': Decimal('100.00')}]> # # 10、count():查看有几条记录 print(models.Book.objects.filter(title="PHP全栈开发").count()) # # 11、first():返回第一条记录 print(models.Book.objects.all().first()) # 12、last():返回最后一条记录 print(models.Book.objects.all().last()) # 13、esits:查看有没有记录, 如果有返回True,没有返回False # 并不需要判断所有的数据 if models.Book.objects.all().exists(): print('ok') |