您的位置:首页 > 数据库 > SQL

django中使用原生sql

2018-02-27 09:27 387 查看
在Django中使用原生Sql主要有以下几种方式:一:extra:结果集修改器,一种提供额外查询参数的机制二:raw:执行原始sql并返回模型实例三:直接执行自定义Sql(这种方式完全不依赖model,前两种还是要依赖于model) 实例:使用extra:1:Book.objects.filter(publisher__name='广东人员出版社').extra(where=['price>50'])Book.objects.filter(publisher__name='广东人员出版社',price__gt=50) 2:Book.objects.extra(select={'count':'select count(*) from hello_Book'}) 使用raw:Book.objects.raw('select * from hello_Book') 自定义sql:Book.objects.raw("insert into hello_author(name) values('测试')")rawQuerySet为惰性查询,只有在使用时生会真正执行 执行自定义sql:from django.db import connectioncursor=connection.cursor()#插入操作cursor.execute("insert into hello_author(name) values('郭敬明')")#更新操作cursor.execute('update hello_author set name='abc' where name='bcd'')#删除操作cursor.execute('delete from hello_author where name='abc'')#查询操作cursor.execute('select * from hello_author')raw=cursor.fetchone() #返回结果行游标直读向前,读取一条cursor.fetchall() #读取所有
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: