| # 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')
 |