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)
#
#
# 查询老男孩出版社出版过的价格大于200的书籍
book = models.Book.objects.filter(price__gt='',publish='老男孩出版社')
print(book)
#
# 查询2017年8月出版的所有以py开头的书籍名称
book = models.Book.objects.filter(name__startswith='py',create_data__range=['2018-08-01','2018-08-31'])
print(book)
#
# 查询价格为50, 100
# 或者150的所有书籍名称及其出版社名称
book = models.Book.objects.filter(price__in=['',''])
book2 = models.Book.objects.filter(price=150).values('name','price')
print(book)
print(book2)
#
# 查询价格在100到200之间的所有书籍名称及其价格
book = models.Book.objects.filter(price__range=[100, 200]).values('name','price')
print(book)
#
# 查询所有人民出版社出版的书籍的价格(从高到低排序,去重)
book = models.Book.objects.filter(publish='人民出版社').order_by('-price')
print(book)
#
# 查找所有书名里包含楼的书
book = models.Book.objects.filter(name__contains='楼')
print(book)
#
# 查找出版日期是2017年的书
book = models.Book.objects.filter(create_data__year='')
print(book)
#
# 查找出版日期是2017年的书名
book = models.Book.objects.filter(create_data__year='').values('name')
print(book)
#
# 查找价格大于10元的书
print('-----------')
book = models.Book.objects.filter(price__gt='')
print(book)
#
# 查找价格大于10元的书名和价格
book = models.Book.objects.filter(price__gt='').values('name','price')
print(book)
django之单表操作的更多相关文章
- django第8天(在测试文件中运行django项目|单表操作)
django第8天 在测试文件中运行django项目 1.将项目配置文件数据库该为mysql,修改配置信息 PORT = '127.0.0.1' DATABASES = { 'default': { ...
- django ORM单表操作
1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ...
- Django学习笔记(7)——单表操作和多表操作
单表操作 1,创建模型 创建名为book的APP,在book下的models.py中创建模型: from django.db import models # Create your models he ...
- web框架开发-Django模型层(1)之ORM简介和单表操作
ORM简介 不需要使用pymysql的硬编码方式,在py文件中写sql语句,提供更简便,更上层的接口,数据迁移方便(有转换的引擎,方便迁移到不同的数据库平台)…(很多优点),缺点,因为多了转换环节,效 ...
- Django模型层-单表操作
ORM介绍 MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的 ...
- Django单表操作
一.数据库相关设置 配置ORM的loggers日志: # 配置ORM的loggers日志 LOGGING = { 'version': 1, 'disable_existing_loggers': F ...
- Django之模型层(单表操作)
一.ORM简介 MVC和MTV框架中包含一个重要部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库. ORM是‘对象-关系- ...
- Django中模型层中ORM的单表操作
ORM概念: MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...
- day 46 Django 学习3 数据库单表操作以及反向解析
前情提要: Django 已经学了不少了, 今天学习链接数据库的操作.以及相关的反向解析等 一:反向解析 1:反向解析模板层 跳转时设定url会随着前面的路由改变而改变 2:反向解析之 ...
随机推荐
- jdbc preparedstatement 调用存储过程的问题
preparedstatement 是可以执行正常的存储过程 executeQuery() 正常执行 在实际开发中遇到一种问题当 preparedstatement.setMaxRows 设置了这 ...
- oracle分区的名称和值要一致
名称是01,后面的值也必须是02,不能是前面的是1,后面的是02,被这个问题困扰了好久.
- 数据库设计(七)第三范式(3NF)
In our last tutorial, we learned about the second normal form and even normalized our Score table in ...
- IPC之共享内存
man 7 shm_overview shm_overview - Overview of POSIX shared memory. 同样,SystemV实现的共享内存是旧的机制,但应用广泛:Posi ...
- LNMP笔记:php-fpm – 启动参数及重要配置详解
约定几个目录/usr/local/php/sbin/php-fpm/usr/local/php/etc/php-fpm.conf/usr/local/php/etc/php.ini php-fpm的启 ...
- hdu 3836 Equivalent Sets(强连通分量--加边)
Equivalent Sets Time Limit: 12000/4000 MS (Java/Others) Memory Limit: 104857/104857 K (Java/Other ...
- python之函数cmp
cpm函数是内置函数.可直接调用. cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1. 但是,sorted ...
- C++ 类模板四(typename关键字)
- NPOI 1.2教程(目录)操作Excel
原文地址:http://www.cnblogs.com/atao/archive/2009/11/15/1603528.html
- Oracle 常用性能监控SQL语句
1. --查看表锁 SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; 2. --监控事例的等待 SELECT EVEN ...