zoukankan      html  css  js  c++  java
  • ORM单表操作的增删改查

    增加记录

    def add(request):
    
        # 添加记录的方法1
        # book1=Book(title="北京折叠",price="11.11",pub_date="2012-12-12",publish='苹果出版社')
        # book1.save()
    
        # 添加记录的方法2 create返回记录对象
        # book_obj=Book.objects.create(title="放风筝的人",price="11.11",pub_date="2017-12-12",publish='苹果出版社')
        # print(book_obj.title)
        # print(book_obj.price)
        # print(book_obj.pub_date)
       
        return HttpResponse("添加成功")

    查询记录

    def query(request):
    
        '''
        queryset:列表里存对象 调不了属性
        model对象
    
        :param request:
        :return:
        '''
    
        # 1. all()
        # book_list = Book.objects.all()  #queryset数据类型[obj,obj....]
        # print(book_list)
        # for obj in book_list:
        #     print(obj.title)
    
        # 2. filter() 返回的是一个queryset数据类型对象,【model_obj,model_obj】
        # ret=Book.objects.filter(title="北京折叠")
        # print(ret)
    
        # 3.first,last,queryset支持切片操作
        # obj1=Book.objects.all().first()
        # obj2=Book.objects.all().last()
        # # obj3=Book.objects.all()[1:2]
        # print(obj1)
        # print(obj2)
        # # obj4=Book.objects.all()[-1]
    
        # 4.get方法 返回的就是一个model对象,有且只有一个才有意义
        # obj =Book.objects.get(nid=1)
        # print(obj.title)
    
        # 5.exclude 排除 等同于filter
        # ret = Book.objects.exclude(nid=1)
        # print(ret)
    
        # 6.order_by排序
        # ret=Book.objects.order_by('price')
        # print(ret)
    
        # 7.reverse()反向排序
        # ret=Book.objects.order_by('price').reverse()
    
        # 8 count
        # ret=Book.objects.all().count()
        # print(ret)
    
        # 9 exists
        # ret=Book.objects.all().exists()
        # if ret:
        #     print('ok')
    #
    10 返回query,列表里套字典,每本书都是字典 # ret = Book.objects.all().values("title", "price") # print(ret) # 11 values_list 列表里套元祖 # ret = Book.objects.all().values_list('title','price') # print(ret) # 12 distinct(去重) # 单表查询之模糊查询 # Book.objects.filter(price__gt=100) # Book.objects.filter(price__lt=100) # ret=Book.objects.filter(price__lte=100) # print(ret) # Book.objects.filter(price__gte=100) # Book.objects.filter(price__in=[100,200,300]) # Book.objects.filter(price_range=[100,233]) # Book.objects.filter(title__startswith="") # Book.objects.filter(title__contains="") return HttpResponse("查询成功")

    更改记录

    def change(request):
        nid=1
        Book.objects.filter(nid=nid).update(price=1000)
        return HttpResponse('修改成功')

    删除记录

    def delbook(request,id):
    
        Book.objects.filter(nid=id).delete()
    
        return HttpResponse("删除成功")

    点击MySQL ,下载,apply

    作业1: 查询练习:

    1 查询老男孩出版社出版过的价格大于200的书籍

    Book.objects.filter(price__gt=200,is_pub=True,publish="老男孩出版社")
    2 查询2017年8月出版的所有以py开头的书籍名称

    Book.objects.filter(title__startswith="py",pub_date__year=2017,pub_date__month=8)
    3 查询价格为50,100或者150的所有书籍名称及其出版社名称

    Book.objects.filter(price__in=[50,100,150]).values('title','publish')
    4 查询价格在100到200之间的所有书籍名称及其价格

    Book.object.filter(price__range=[100,200]).values('title','price')
    5 查询所有人民出版社出版的书籍的价格(从高到低排序,去重)

    Book.object.filter(publish="人民出版社").order_by("price").reverse().values('price').distinct()
    6 查询价格大于200的书籍的个数

    Book.object.filter(price__gt=200).count()
    7 查询价格不等于100的所有书籍

    Book.object.exclude(price=100)
    8 查询苹果出版社出版的书籍中的第3-7本(前提存在足够数量的书籍)

    Book.object.filter(publish="苹果出版社")[2:7]

  • 相关阅读:
    java中的构造方法
    在CentOS6.4上安装GitLab
    java通过文件路径读取该路径下的所有文件并将其放入list中
    java IO流 内容整理
    Selenium Webdriver元素定位的八种常用方式
    揭秘Alltesting众测平台
    TestCenter中测试需求、测试用例、测试计划的评审方法
    测试管理工具(TestCenter)产品功能介绍
    Bug管理工具(TCE)之缺陷导入与导出
    Bug管理工具(TCE)之缺陷流程定制
  • 原文地址:https://www.cnblogs.com/kateli/p/9234807.html
Copyright © 2011-2022 走看看