美文网首页
Django-数据库操作之查询数据

Django-数据库操作之查询数据

作者: 测试探索 | 来源:发表于2022-09-02 22:35 被阅读0次

    一、基本查询

    在子应用book/views.py文件中

    • get查询单一结果,如果不存在会抛出模型类,DoesNotExist异常
    python3 manager.py shell
    
    image.png
    • all查询多个结果


      image.png
    • count查询结果数量


      image.png

    二、过滤查询

    实现SQL中的where功能,包括

    • filter过滤出多个结果
    • exclude排除掉符合条件剩下的结果
    • get过滤单一结果
      格式
    模型类名.objects.filter(属性名_运算符= 值)
    模型类名.objects.exclude(属性名_运算符= 值)
    模型类名.objects.get(属性名_运算符= 值)
    

    查询编号为1的图书

    book = BookInfo.objects.get(id = 1)   #简写形式(属性名 = 值)
    book1 = BookInfo.objects.get(id_exact = 1)  #完整形式(id_exact = 1)
    book2 = BookInfo.objects.filter(id = 1)
    BookInfo.objects.get(pk = 1) #pk primary key 主键
    
    image.png
    查询书名包含‘湖’的图书
    BookInfo.objects.filter(name__contains = '湖')
    
    image.png
    查询书名以'部'结尾的图书
    BookInfo.objects.filter(name__endswith = '部')
    
    image.png
    查询书名为空的图书
    BookInfo.objects.filter(name__isnull = True)
    
    image.png
    查询编号为1.3.5的图书
    BookInfo.objects.filter(id__in = [1,3,5])
    
    image.png
    查询编号>3的图书
    # 大于 gt
    # 大于等于 gte
    # 小于 lt
    # 小于等于 lte
    BookInfo.objects.filter(id__gt = 3)
    
    image.png
    查询编号不等于3的书籍
    BookInfo.objects.exclude(id = 3)
    
    image.png
    查询1980年发表的图书
    BookInfo.objects.filter(pub_data__year = '1980')
    
    image.png
    查询1990年1月1号后发表的图书
    BookInfo.objects.filter(pub_data__gt = '1990-1-1')
    
    image.png

    相关文章

      网友评论

          本文标题:Django-数据库操作之查询数据

          本文链接:https://www.haomeiwen.com/subject/nfzsnrtx.html