当前位置:   article > 正文

python框架Django模型增删查改方法(常用)_django modle.objects.modify

django modle.objects.modify

一、创建数据

1、mymodel.objects.create(属性1=值1,属性2=值2),成功返回实体对象,错误抛出异常

2、obj = mymodel(属性1=值1,属性2=值2)

     obj.save()

二、查询数据

1、mymodel.objects.all()--select * from table,返回queryset容器对象,内部存放mymodel实例

2、mymodel.objects.values('字段名1',''字段名2'),返回对应字段的字典值

3、mymodel.objects.values_list('字段名1',''字段名2'),list放的是元组,返回对应字段的元组

4、mymodel.objects.order_by('字段名'),升序查询; mymodel.objects.order_by('-字段名'),降序查询,返回object对象

5、mymodel.objects.filter(属性1=值1,属性2=值2)

mymodel.objects.filter(字段__exact=1)exact:等值匹配

mymodel.objects.filter(字段__contains='w'),等同于sql的like '%w%'语句

mymodel.objects.filter(字段__startswith='w'),等同于sql的like 'w%'语句

mymodel.objects.filter(字段__endswith='w'),等同于sql的like '%w'语句

mymodel.objects.filter(字段__gte=10),查询字段大于10

mymodel.objects.filter(字段__lt=10),查询字段小于10

mymodel.objects.filter(字段__lte=10),查询字段小于或等于10

mymodel.objects.filter(字段__in=[1,2,3]),查询字段是否在1,2,3里面

mymodel.objects.filter(字段__range=(1,100)),查询字段是否在1到100范围

6、mymodel.objects.exclude(属性1=值1,属性2=值2),查询不包含此条件的

7、mymodel.objects.get(属性1=值1,属性2=值2),查询满足条件唯一一条数据,查询结果大于1或者无数据则抛出异常

三、修改数据

1、单条数据修改(查--改--存)

① 通过get()获得唯一数据值对象; ② 对象.字段 = 新的值; ③ 对象.save( )

2、多条数据修改

① 通过查询语句查出数据;② 对象.update(字段 = 新的值)

四、删除数据

1、单个数据删除(查-删)

① 通过get()获得数据;② 对象.delete();

2、批量删除数据(查-删)

① 通过filter获得数据;② 对象.delete();

五、F对象和Q对象

F对象:类似并发的锁机制,能够生成+=的sql语句,F('字段名')表示暂时不查找该字段名的值;

Q对象:获取查询结果集,逻辑或“|”,逻辑非“~”,逻辑与“&”等操作

model.objects.filter(Q(条件1)|Q(条件2)) # 查找条件1或条件2成立的数据

六、聚合查询

1、整表聚合 -- 聚合函数: Sum, Avg, Count, Max, Min, 返回字典结果

① 导入 from django.db.models import *

② mymodel.objects.aggregate(结果变量名 = 聚合函数('列'))

2、分组聚合 -- QuerySet.annotate(结果变量名 = 聚合函数('列')),QuerySet表示查询后的集合

七、原生数据库操作

1、mymodel.objects.raw(sql语句, 拼接参数),返回集合对象

例:Book.objects.raw('select * from table where id = %s', ['1']),能够防止sql注入

2、

  1. from django.db import connection
  2. with connetion.cursor() as cur:
  3. cur.execute(sql语句,['拼接参数'])

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/306327?site
推荐阅读
相关标签
  

闽ICP备14008679号