Django学习8—数据库使用3-原始sql使用

xiaoxiao2021-02-28  102

这里我就不自己写了,这篇不错,只是我还不知道raw里面增删改怎么让其生效 在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 connection cursor=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() #读取所有 原文链接
转载请注明原文地址: https://www.6miu.com/read-19997.html

最新回复(0)