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 ...
随机推荐
- H3C IEEE EUI-64格式
- 【踩坑记录】vue单个组件内<style lang="stylus" type="text/stylus" scoped>部分渲染失效
vue组件化应用,近期写的单个组件里有一个的渲染部分样式渲染不上去 因为同结构的其他组件均没有问题,所以排除是.vue文件结构的问题,应该是<style>内部的问题 <style l ...
- H3C 端口隔离基本配置
- Jasypt加密SpringBoot配置文件
如果 SpringBoot 的 properties 文件中含有用户名密码等敏感信息,为了安全起见需要对明文密码加密.Jasypt 是用来加密的 jar 包. 1.引入 Jasypt 在 pom.xm ...
- maven仓库总结,maven私服搭建,批量mvn eclipse:eclipse
配置pom.xml依赖包时在这里找包的描述: http://search.maven.org/#browse 以java为根目录. mvn archtype:generate -DgroupId=zt ...
- APK签名替换检测
APK二次打包的危害 APK二次打包是Android应用安全风险中的一部分, 一般是通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场.论坛发布.打包党对移动App带来的危害有以下几种: ...
- LuoguP2765 魔术球问题
LuoguP2765 魔术球问题 首先,很难看出来这是一道网络流题.但是因为在网络流24题中,所以还是用网络流的思路 首先考虑完全平方数的限制. 如果\(i,j\)满足\(i < j\) 且 $ ...
- The Zen of Python —— Python 之禅
Beautiful is better than ugly. # 优美好于丑陋(Python以编写优美的代码为目标) Explicit is better than implicit. # 明 ...
- struts2生成随机验证码图片
之前想做一个随机验证码的功能,自己也搜索了一下别人写的代码,然后自己重新用struts2实现了一下,现在将我自己实现代码贴出来!大家有什么意见都可以指出来! 首先是生成随机验证码图片的action: ...
- Django的安装命令
国内的一些pipy镜像源: 1.清华源: https://pypi.tuna.tsinghua.edu.cn/simple 2.豆瓣源: https://pypi.douban.com/simple ...