django执行原生sql方法
发布日期:2021-09-20 08:07:25 浏览次数:55 分类:技术文章

本文共 914 字,大约阅读时间需要 3 分钟。

from django.db import connectiondef my_custom_sql(self):    with connection.cursor() as cursor:        cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])        cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])        row = cursor.fetchone()    return row

 

如果项目配置了多个数据库连接,可以选择自己需要使用的链接:

from django.db import connectionswith connections['my_db_alias'].cursor() as cursor:    # Your code here...

记录以字典格式返回:

def dictfetchall(cursor):    "Return all rows from a cursor as a dict"    columns = [col[0] for col in cursor.description]    return [        dict(zip(columns, row))        for row in cursor.fetchall()    ]

或者这样:

from collections import namedtupledef namedtuplefetchall(cursor):    "Return all rows from a cursor as a namedtuple"    desc = cursor.description    nt_result = namedtuple('Result', [col[0] for col in desc])    return [nt_result(*row) for row in cursor.fetchall()]

 

转载地址:https://blog.csdn.net/caiyiii/article/details/109367633 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:linux查看指定端口的连接情况
下一篇:如何在django model保存前或保存后执行一些操作

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月20日 12时25分09秒