django之 使用py文件操作django项目中的表
要想在一个另外的py文件中操作django,可以使用如下的代码
- import os
- os.environ.setdefault("DJANGO_SETTINGS_MODULE",'mysite.settings') #mysite用的是自己的project
- import django
- django.setup()
- from app01 import models #app01是项目名
基本操作
方法 | 解释 |
get() | 获取指定条件的对象,在views.py里面有且只能有一个,否则报错 |
all() | 获取所有对象 |
filter() | 获取满足条件的所有对象 ---》对象列表 |
exclude() | 获取所有不满足条件的对象,也就是get()的取反 |
values() | 括号内有参数就是获取指定字段的结果,不写就是显示所有字段 |
values_list() | 区别于values,是以元组的形式来表示 |
order_by() | 以某个字段来排列,- 是以降序排列 |
reverse() | 对排列好的结果取反 |
distinct() | 去重
|
count() | 计算结果的数量 |
first() | 取出满足条件的第一个结果 |
last() | 取出满足条件的最后一个结果 |
exists() | 判断结果是否存在 |
delete() | 删除记录
|
update() | 修改记录
|
下面是举例:
首先我们设置打印格式:
- class User(models.Model):
- id=models.AutoField(primary_key=True)
- name=models.CharField(max_length=32,db_column='user',verbose_name='姓名')
- age=models.IntegerField(verbose_name='年龄')
- birth=models.DateTimeField(auto_now=True,null=True)
- def __str__(self):
- return "<User:id-{} name-{}>".format(self.id,self.name)
- class Meta:
- #数据库的表面修改,自定义
- db_table="user"
- #admin中显示的表名称
- verbose_name='个人信息'
- #在admin中Site administration显示
- verbose_name_plural='所有用户信息'
下面是一些双下滑线的操作命令:
- __gt= 大于某个数
- __lt= 小于某个数
- __lte= 小于等于某个数
- __in=[] 在某些数字中
- __range=[1,3] 在一和三之间
- __contain= 包含
- __icontain= 包含忽略大小写
- __year= 某个时间字段中的年
- __startwith endswith 以什么开始,以什么结尾
举例
- ret1=models.User.objects.filter(id__gt=1)
- # <QuerySet [<User: <User:id-2 name-he>>, <User: <User:id-3 name-ren>>, <User: <User:id-4 name-wo>>]>
- print(ret1)
- #查询在某个区间的结果,可以放入不在数据库里面的id
- ret2=models.User.objects.filter(id__in=[1,2,4,100])
- print(ret2)
- #查询在某个范围的结果
- ret3=models.User.objects.filter(id__range=[1,3])
- print(ret3)
- #包含
- ret4=models.User.objects.filter(name__contains='e')
- print(ret4)
- #忽略大小写,在sqlite数据库里面和contains是一样的,可以使用mysql验证
- ret5=models.User.objects.filter(name__icontains='e')
- print(ret5)
- #查询字段birth的时间中year是2018
- ret6=models.User.objects.filter(birth__year='')
- print(ret6)
django之 使用py文件操作django项目中的表的更多相关文章
- 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Application Data 中的媒体
[源码下载] 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Ap ...
- 怎样将.h文件添加到项目中
作为C++的初学者,在运行别人的程序时,第一个遇到的问题就是无法将程序中写到的.h文件包含到项目中来.下面来写一下处理方法.本文以easyx.h为例进行说明 首先右键你的工程 选择Properties ...
- django模型models.py文件内容理解
首先,要理解这句话:模型是你的数据的唯一的.权威的信息源.它包含你所存储数据的必要字段和行为.通常,每个模型对应数据库中唯一的一张表 基础:每个模型都是django.db.models.Model的一 ...
- pycharm 当有多个.py文件在开发环境中时,如何操作可以保证运行当前面对自己的文件?
Alt+shift+F10选择自己的py文件,执行就可以了.
- SpringBoot项目中,表单的验证操作
在创建Springboot项目中,我们使用了表单验证操作,这一操作将极大地简化我们编程的开发 1.接收数据,以及验证 @PostMapping("/save") public Mo ...
- Django框架----models.py(数据库操作文件)
利用一个中间模块 帮助我们连接数据库,写SQL语句,执行SQL语句,拿到结果 models.py 一.数据的对应关系 1. 类 ---> 表 2. 对象 ---> 数据行 3. 属性 -- ...
- 无状态的web应用(单个py文件的Django占位图片服务器)
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 阅读本文建议了解Django框架的基本工作流程,了解WSGI应用,如果对以上不是很清楚,建议结 ...
- django项目中form表单和ajax的文件上传功能。
form表单文件上传 路由 # from表单上传 path('formupload/',apply.formupload,name='formupload/'), 方法 # form表单文件上传 de ...
- 08 Django REST Framework 解决前后端分离项目中的跨域问题
01-安装模块 pip install django-cors-headers 02-添加到INSTALL_APPS中 INSTALLED_APPS = ( ... 'corsheaders', .. ...
随机推荐
- plsql中文乱码问题
问题: 打开 plsql,执行 sql 语句,中文显示乱码: 解决方案: 1)输入 sql 语句 select userenv('language') from dual 查看数据库字符集 输出结 ...
- 周强 201771010141 《面向对象程序设计(java)》第七周学习总结
实验目的与要求 (1)进一步理解4个成员访问权限修饰符的用途: (2)掌握Object类的常用API用法: (3)掌握ArrayList类用法与常用API: (4)掌握枚举类使用方法: (5)结合本章 ...
- [转]C++11常用特性的使用经验总结
转载出处 http://www.cnblogs.com/feng-sc C++11已经出来很久了,网上也早有很多优秀的C++11新特性的总结文章,在编写本博客之前,博主在工作和学习中学到的关于C++1 ...
- 浅入浅出JDBC————1分钟了解JDBC
一.了解基本的几个jdbc需要的类 1.1DriverManager类 DriverManager类是一个jdbc的驱动服务类.通常使用该类获得一个Connection对象,得到一个数据库的链接. 1 ...
- 如何用Caffe训练自己的网络-探索与试验
现在一直都是用Caffe在跑别人写好的网络,如何运行自定义的网络和图片,是接下来要学习的一点. 1. 使用Caffe中自带的网络模型来运行自己的数据集 参考 [1] :http://www.cnblo ...
- windows下python虚拟环境virtualenv安装和使用
前面介绍了python在ubuntu16.04环境下,python的虚拟环境virtualenv的安装,下面介绍在windows环境下的安装和使用. 环境信息 操作系统:windows10 pytho ...
- tomcat8.5配置redis实现session共享(tomcat-redis-session-manager-master)
1.将下面几个jar包依赖放到tomcat的lib目录下: 2.修改tomcat/conf下context.xml文件,在<Context>节点添加如下代码: <Valve clas ...
- activiti学习第一天
公司项目组在考虑工作流,首选了activiti,首先我们要明确为什么要使用activiti,有什么好处. 在工作中有些项目会用到工作流,如果简单的项目,我们就无需使用类似activiti.jbpm等工 ...
- mysql连接拍错总结
1. ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10060) ? 关闭网络防火墙.
- python中str函数isdigit、isdecimal、isnumeric的区别
num = "1" #unicodenum.isdigit() # Truenum.isdecimal() # Truenum.isnumeric() # True num = & ...