大家好,又见面了,我是你们的朋友全栈君。
Django
在查询数据时,大多数查询都能使用ORM提供的API方法,但对于一些复杂的查询可能难以使用ORM的API方法实现,因此Django引入了SQL语句的执行方法,有以下三种执行方式
以上3种方式,这里只介绍raw
方式,用的最多,也最推荐使用
只能实现数据查询操作,并且要依靠模型对象,在Pycharm里打开raw源码,如下图所示,它一共定义了4个参数,每个参数如下:
raw_query
设置字符串格式化%s
,那么该参数为raw_query
提供数值Django
所连接的数据库 def raw(self, raw_query, params=None, translations=None, using=None):
if using is None:
using = self.db
qs = RawQuerySet(raw_query, model=self.model, params=params, translations=translations, using=using)
qs._prefetch_related_lookups = self._prefetch_related_lookups[:]
return qs
上述参数只有raw_query
是必选参数,其他参数可根据需求自行选择。我们以模型Student
为例,使用raw
实现数据查询,代码如下:
students = Student.objects.raw('select * from Student')
for student in students:
print(student)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166162.html原文链接:https://javaforall.cn