博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django之 使用py文件操作django项目中的表
阅读量:5226 次
发布时间:2019-06-14

本文共 2185 字,大约阅读时间需要 7 分钟。

要想在一个另外的py文件中操作django,可以使用如下的代码

import osos.environ.setdefault("DJANGO_SETTINGS_MODULE",'mysite.settings')  #mysite用的是自己的projectimport djangodjango.setup()from app01 import models  #app01是项目名

基本操作

方法 解释
get() 获取指定条件的对象,在views.py里面有且只能有一个,否则报错
all() 获取所有对象
filter() 获取满足条件的所有对象 ---》对象列表
exclude() 获取所有不满足条件的对象,也就是get()的取反
values() 括号内有参数就是获取指定字段的结果,不写就是显示所有字段
values_list() 区别于values,是以元组的形式来表示
order_by() 以某个字段来排列,- 是以降序排列
reverse() 对排列好的结果取反
distinct() 去重 
models.Book.objects.all().values("price").distinct()
count() 计算结果的数量
first() 取出满足条件的第一个结果
last() 取出满足条件的最后一个结果
exists() 判断结果是否存在
 delete()  删除记录
models.Book.objects.filter(price__lte=100).delete()
 update()  修改记录
models.Book.objects.filter(title__startswith="py").update(price=120)

下面是举例:

首先我们设置打印格式:

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 "
".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)# 
>,
>,
>]>print(ret1)#查询在某个区间的结果,可以放入不在数据库里面的idret2=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是2018ret6=models.User.objects.filter(birth__year='2018')print(ret6)

 

posted on
2018-10-25 18:23 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/mmyy-blog/p/9851786.html

你可能感兴趣的文章
【poj1568】 Find the Winning Move
查看>>
【codevs1033】 蚯蚓的游戏问题
查看>>
TP框架中的page分页实现
查看>>
[转]跨越千年的RSA算法
查看>>
传奇学者应明生
查看>>
【程序执行原理】
查看>>
第二次项目冲刺(Beta阶段)5.24
查看>>
python的多行注释
查看>>
连接Oracle需要jar包和javadoc文档的下载
查看>>
UVA 10976 - Fractions Again?!
查看>>
poj 1183
查看>>
Dreamweaver cc新版本css单行显示
查看>>
Redis的Sorted Set有序集合命令
查看>>
【android】安卓的权限提示及版本相关
查看>>
3D重建的进阶了解---深度图,网格,体素,点云是什么
查看>>
JavaScript可否多线程? 深入理解JavaScript定时机制
查看>>
IOS基础学习
查看>>
js 模拟滚动条
查看>>
PHP 导出 Excell
查看>>
关于springmvc json交互产生的406错误
查看>>