ORM基础3 在python脚本里调用Django环境
1、查询
1.# all获取所有的object,结果QuerySet,列表
print('all'.center(80, '='))
ret = models.Person.objects.all()
print(ret)
2.# filter 删选;结果:QuerySet list;不会报错,结果为空
print('filter'.center(80, '='))
ret = models.Person.objects.filter(id=1)
print(ret)
3.# 对象 若对象不存在,则报错
print("get".center(80, '='))
ret = models.Person.objects.get(id=1)
print(ret)
4.# exclude除了 结果:QuerySet list
print("exclude".center(80, "="))
ret = models.Person.objects.exclude(id=1)
print(ret)
5.# values 查询字段 结果:QuerySet list dict
print("values".center(80, "="))
ret = models.Person.objects.values("name", "age")
print(ret)
6.# values_list 字段 结果:QuerySet list tuple
print("values_list".center(80, "="))
ret = models.Person.objects.values_list("name", "age")
print(ret)
7.# order_by 排序(正序) 结果:QuerySet list
print("order_by".center(80, "="))
ret = models.Person.objects.order_by("age")
print(ret)
8.# reverse 取反,结果:QuerySet list 注意:reverse()前必须先排序
print("reverse".center(80, "="))
ret = models.Person.objects.order_by("age").reverse()
print(ret)
9.# count 计数有几行数据(包含表头)
print("count".center(80, "="))
ret = models.Book.objects.count()
print(ret)
10.# 查看第一个元素
print("first".center(80, "="))
ret = models.Book.objects.first()
print(ret)
11.# 查看最后一个元素
print("last".center(80, "="))
ret = models.Person.objects.last()
print(ret)
12.# 查看是否存在数据行
print("exists".center(80, "="))
ret = models.Person.objects.exists()
print(ret)
QuerySet
1. all()
2. filter()
3. exclude()
4.values() 字典
5.values_list() 元祖
6.order_by()
7.reverse()
对象
1.get()
2.first()
3.laste()
其它
count()
2、神奇的双下方法-->根据字段查询
1.# lt(小于) gt(大于) lte(小于等于) gte(大于等于)
ret = models.Person.objects.filter(id__gt=2, id__lte=4)
print(ret)
ret = models.Person.objects.filter(id__gte=2, id__lt=4)
print(ret)
2.# in not in
print("in and not in".center(80, "*"))
ret = models.Person.objects.filter(id__in=[1, 3, 4])
print(ret)
ret = models.Person.objects.exclude(id__in=[1, 3])
print(ret)
3.# range 相对于 mysql的between and 是闭区间
print("range".center(80, "*"))
ret = models.Person.objects.filter(id__range=[2, 4])
print(ret)
4.# contains 相当于mysql like '%o%',icontains不区分大小写
print("contains".center(80, "*"))
ret = models.Person.objects.filter(name__contains="o")
print(ret)
ret = models.Person.objects.filter(name__icontains="o")
print(ret)
5.# startswith 以什么开始 ,含有i不区分大小写
ret = models.Person.objects.filter(name__startswith='t')
print(ret)
ret = models.Person.objects.filter(name__istartswith='t')
print(ret)
6.# endswith 以什么结尾,带i的不区分大小写
ret = models.Person.objects.filter(name__endswith='r')
print(ret)
7.# 日期 year month day
ret = models.Person.objects.filter(birthday__day=15)
print(ret)
注意:字段__判断条件
3、在python脚本里调用Django环境
import os if __name__ == "__main__":
# manage.py 文件里有
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite04.settings')
import django
django.setup()
from app01 import models
ORM基础3 在python脚本里调用Django环境的更多相关文章
- $Django 多表操作(增删改查,基于双下划线,对象的查询) 在Python脚本中调用Django环境
在Python脚本中调用Django环境. import osif __name__ == '__main__': os.environ.setdefault("DJANGO_SETTING ...
- django系列5.4--ORM中执行原生SQL语句, Python脚本中调用django环境
ORM执行原生sql语句 在模型查询API不够用的情况下,我们还可以使用原始的SQL语句进行查询. Django 提供两种方法使用原始SQL进行查询:一种是使用raw()方法,进行原始SQL查询并返回 ...
- Django框架(八)--单表增删改查,在Python脚本中调用Django环境
一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...
- Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境
目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...
- Python--day69--pythonDjango终端打印SQL语句、在Python脚本中调用Django环境
Django终端打印SQL语句 在Django项目的settings.py文件中,在最后复制粘贴如下代码: LOGGING = { 'version': 1, 'disable_existing_lo ...
- 在Python脚本中调用Django环境(方便、右键运行,可用于ORM测试)
随便创建一个py文件即可: import os if __name__ == '__main__': os.environ.setdefault("DJANGO_SETTINGS_MODUL ...
- Django框架----在Python脚本中调用Django环境
在项目根目录下新建脚本文件script.py import os if __name__ == '__main__': os.environ.setdefault("DJANGO_SETTI ...
- 在Python脚本中调用Django环境
import os if __name__ == '__main__': os.environ.setdefault("DJANGO_SETTINGS_MODULE", " ...
- django系列5.5--分组查询,聚合查询,F查询,Q查询,脚本中调用django环境
一.聚合查询 aggregate(*args, **args) 先引入需要的包,再使用聚合查询 #计算所有图书的平均价格 from django.db.models import Avg Book.o ...
随机推荐
- C# 获取进程退出代码
我需要写一个程序,让这个程序知道另一个程序是否正常退出,于是就需要获取这个进程的退出代码 在程序如果需要手动退出,可以设置当前的退出代码 static void Main(string[] args) ...
- navicat for mysql连接本地数据库
navicat for mysql连接本地数据库 打算使用navicat连接本地数据库,连接的时候,一直连接不上.然后猜想是不是本地数据库没有设置好.输入mysql,出错内容:access denie ...
- dotnet 修复找不到 System.ServiceProcess 定义
本文告诉大家如果复制网上一段代码发现 System.ServiceProcess 提示找不到方法或定义,需要手动添加引用 例如下面一段代码 using System.ServiceProcess; p ...
- git之本地篇(用tortoisegit操作)
下载: git:https://git-scm.com/downloads tortoisegit(小乌龟):https://tortoisegit.org/ ortoisegit中文语言包 v2.9 ...
- 17.python内置函数2
python内置函数1:https://www.cnblogs.com/raitorei/p/11813694.html # max,min高级玩法 # l=[1,3,100,-1,2] # prin ...
- 0009 CSS基础选择器( 标签、类、id、通配符)
typora-copy-images-to: media 第01阶段.前端基础.CSS基础选择器 CSS选择器(重点) 学习目标: 理解 能说出选择器的作用 id选择器和类选择器的区别 应用 能够使用 ...
- 【题解】 P2763 试题库问题(网络流)
P2763 试题库问题 考虑一个试题要被加入进答案的集合有什么条件? 是某种类型 只算作一次 就这两种且的限制,所以我们用串联的方式连接"类型点"和"作用点". ...
- 洛谷$P1600$ 天天爱跑步 树上差分
正解:树上差分 解题报告: 传送门$QwQ$! 这题还挺妙的,,,我想了半天才会$kk$ 首先对一条链$S-T$,考虑先将它拆成$S-LCA$和$LCA-T$,分别做.因为总体上来说差不多接下来我就只 ...
- 两个int数组对比,返回差异数据
public static int[] DataDifference(int[] more, int[] few) { //差异Id var sbuNoItapSessionId = new int[ ...
- 1048 数字加密 (20 分)C语言
本题要求实现一种数字加密方法.首先固定一个加密用正整数 A,对任一正整数 B,将其每 1 位数字与 A 的对应位置上的数字进行以下运算:对奇数位,对应位的数字相加后对 13 取余--这里用 J 代表 ...