django之单表操作

1.查询方法:

<1> all():                  查询所有结果

<2> filter(**kwargs):       它包含了与所给筛选条件相匹配的对象

<3> get(**kwargs):          返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。

<4> exclude(**kwargs):      它包含了与所给筛选条件不匹配的对象

<5> order_by(*field):       对查询结果排序(‘-id‘)

<6> reverse():              对查询结果反向排序

<8> count():                返回数据库中匹配查询(QuerySet)的对象数量。

<9> first():                返回第一条记录

<10> last():                返回最后一条记录

<11> exists():              如果QuerySet包含数据,就返回True,否则返回False

<12> values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
                            model的实例化对象,而是一个可迭代的字典序列
<13> values_list(*field):   它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列

<14> distinct():            从返回结果中剔除重复纪录

2.双下划綫之模糊查询:
<1> all():                  查询所有结果

<2> filter(**kwargs):       它包含了与所给筛选条件相匹配的对象

<3> get(**kwargs):          返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。

<4> exclude(**kwargs):      它包含了与所给筛选条件不匹配的对象

<5> order_by(*field):       对查询结果排序(‘-id‘)

<6> reverse():              对查询结果反向排序

<8> count():                返回数据库中匹配查询(QuerySet)的对象数量。

<9> first():                返回第一条记录

<10> last():                返回最后一条记录

<11> exists():              如果QuerySet包含数据,就返回True,否则返回False

<12> values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
                            model的实例化对象,而是一个可迭代的字典序列
<13> values_list(*field):   它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列

<14> distinct():            从返回结果中剔除重复纪录
单表查询练习

import os

if __name__ == ‘__main__‘:
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "template_import.settings")
    import django
    django.setup()

    from template001 import models

    book = models.Book.objects.create(name=‘红楼梦‘, price=23.8, publish=‘人民出版社‘, author=‘曹雪芹‘, create_data=‘2018-09-17‘)
    book = models.Book.objects.create(name=‘红楼梦‘, price=23.8, publish=‘人民出版社‘, author=‘曹雪芹‘, create_data=‘2018-09-17‘)
    import datetime
    ctime = datetime.datetime.now()
    book = models.Book.objects.create(name=‘西游记‘, price=100, publish=‘北京出版社‘, author=‘吴承恩‘, create_data=ctime)
    ret = models.Book.objects.all()
    print(ret)
    #
    # 1
    # 查询老男孩出版社出版过的价格大于200的书籍
    book = models.Book.objects.filter(price__gt=‘200‘,publish=‘老男孩出版社‘)
    print(book)
    # 2
    # 查询2017年8月出版的所有以py开头的书籍名称
    book = models.Book.objects.filter(name__startswith=‘py‘,create_data__range=[‘2018-08-01‘,‘2018-08-31‘])
    print(book)
    # 3
    # 查询价格为50, 100
    # 或者150的所有书籍名称及其出版社名称
    book = models.Book.objects.filter(price__in=[‘50‘,‘100‘])
    book2 = models.Book.objects.filter(price=150).values(‘name‘,‘price‘)
    print(book)
    print(book2)
    # 4
    # 查询价格在100到200之间的所有书籍名称及其价格
    book = models.Book.objects.filter(price__range=[100, 200]).values(‘name‘,‘price‘)
    print(book)
    # 5
    # 查询所有人民出版社出版的书籍的价格(从高到低排序,去重)
    book = models.Book.objects.filter(publish=‘人民出版社‘).order_by(‘-price‘)
    print(book)
    # 6
    # 查找所有书名里包含楼的书
    book = models.Book.objects.filter(name__contains=‘楼‘)
    print(book)
    # 7
    # 查找出版日期是2017年的书
    book = models.Book.objects.filter(create_data__year=‘2017‘)
    print(book)
    # 8
    # 查找出版日期是2017年的书名
    book = models.Book.objects.filter(create_data__year=‘2017‘).values(‘name‘)
    print(book)
    # 9
    # 查找价格大于10元的书
    print(‘-----------‘)
    book = models.Book.objects.filter(price__gt=‘10‘)
    print(book)
    # 10
    # 查找价格大于10元的书名和价格
    book = models.Book.objects.filter(price__gt=‘10‘).values(‘name‘,‘price‘)
    print(book)

原文地址:https://www.cnblogs.com/zhaijihai/p/9948304.html

时间: 2024-11-04 04:25:53

django之单表操作的相关文章

django orm单表操作

orm语句 -- sql -- 调用pymysql客户端发送sql -- mysql服务端接收到指令并执行 增: 方式1: new_obj = models.UserInfo( id=2, name='小猿1', bday='2019-09-27', checked=1, ) new_obj.save() 方式2: # ret 是创建的新的记录的model对象(重点) ret = models.UserInfo.objects.create( name='小猿2', bday='2019-08-

Django开发:(3.1)ORM:单表操作

MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动 ORM是"对象-关系-映射"的简称. Mysql中的表对应python中的类,表的字段对应类的属性,表的记录对应类的实例化的对象 单表操作 创建表 1. 创建模型 创建名为app01的app,在app01下的models.py中创建模型: from dj

Django框架05 /orm单表操作

目录 Django框架05 /orm单表操作 昨日内容回顾 今日内容 orm单表操作 对象关系映射(object relational mapping) 1.orm介绍 2.增: 3.时间问题 4.删 5.改 6.批量插入 -- bulk_create 7.查询api 8.基于双下划线的模糊查询 -- filter双下划线查询 9.总结 总结1 总结2 Django框架05 /orm单表操作 昨日内容回顾 模板相关 模板继承(母版继承) 1. 创建一个xx.html页面(作为母版,其他页面来继承

Django基础五之django模型层(一)单表操作

目录 一 ORM简介 二 单表操作 一.创建表 创建模型 2 更多字段和参数 3 settings配置 4.自定义字段(了解) 二.添加表纪录 方式1 方式2(用的多) 方式3:批量插入 三.查询表纪录 查询API(都是重点) 基于双下划线的模糊查询 四.删除表纪录 五.修改表纪录 三 章节作业 1 图书管理系统 2 查询操作练习 四 xxx 本节目录 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,

Django模型层之单表操作

Django模型层之单表操作 一 .ORM简介 我们在使用Django框架开发web应用的过程中,不可避免地会涉及到数据的管理操作(如增.删.改.查),而一旦谈到数据的管理操作,就需要用到数据库管理软件,例如mysql.oracle.Microsoft SQL Server等. 如果应用程序需要操作数据(比如将用户注册信息永久存放起来),那么我们需要在应用程序中编写原生sql语句,然后使用pymysql模块远程操作mysql数据库,详见图一^①^ 但是直接编写原生sql语句会存在两方面的问题,严

17-2 orm单表操作和多表操作

参考:https://www.cnblogs.com/liwenzhou/p/8660826.html 一  ORM单表操作 1 增删改查 1 1. 查询 2 1. 查所有 3 models.Publisher.objects.all() 4 2. 查某个具体的记录 5 models.Publisher.objects.get(id=1) --> 注意查询条件不成立就报错 6 2. 删除一条记录 7 models.Publisher.objects.get(id=1).delete() 8 3.

母版,单表操作

上节回顾:(模板层) 1 模板之变量---{{ }} -支持数字,字符串,布尔类型,列表,字典---相当于对它进行了打印 -函数--->相当于加括号运行(不能传参数) -对象--->内存地址,(如果重写__str__方法,打印的就是返回的内容) 2 过滤器 -length---计算长度 -default----设默认值 -filesizeformat---把数字转成文件大小格式 -截断字符---最少是三 -截断单词 -data----格式化日期类型 -add-----数字,字符串相加 -sli

model,单表操作

一. model Django提供了一个抽象层(“Model”)来构建和管理Web应用程序的数据. django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表. 关系对象映射(Object Relational Mapping,简称ORM),  它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动. 二. 单表操作 <一>. 表的创建

django orm 单表增删改查

一 简单增删改查 1.增 User.objects.create(name='Alan', age=10, birthday='2018-08-08') user = User(name='Alan', age=10, birthday='2018-08-08') user.save() 2.查询 # 操作的结果拥有是一个list users = User.objects.filter(name='Owen') # 只能操作有且只有一条数据记录 user = User.object.set(id