django 直接执行sql语句的使用方法 Performing raw SQL queries
开始展示的前提是,看一下表的结构
class Person(models.Model):
first_name = models.CharField(...)
last_name = models.CharField(...)
birth_date = models.DateField(...)
1,Performing raw SQL queries
你可以直接执行一个语句像这样
for p in Person.objects.raw('SELECT * FROM myapp_person'):
print(p)
官方提示不要使用下面这种方式
lname = 'Doe'
query = 'SELECT * FROM myapp_person WHERE last_name = %s' % lname
Person.objects.raw(query)
2,Executing custom SQL directly
Sometimes even Manager.raw() isn’t quite enough: you might need to perform queries that don’t map cleanly to models, or directly execute UPDATE, INSERT, or DELETE queries.
是的,有时候Raw Sql Queries是满足不了我们的需求的,那么我们就直接执行一下好了。
cursor = connection.cursor()
cursor.execute("UPDATE myapp_person SET first_name = 1 WHERE first_name = %s", [self.bar])
cursor.execute("SELECT `last_name` FROM myapp_person WHERE last_name = %s", [self.baz])
row = cursor.fetchone()
print_r(row)
还不错,需求挺大,满足也挺大,操作也简便,对项目的操作很便利
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/309
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/309