加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

python Django视图中的原始SQL查询

发布时间:2023-02-01 14:57:17 所属栏目:MySql教程 来源:
导读:  The Django Documentation is really really good.基本上有两种执行原始SQL的方法。可以使用Manager.raw()执行返回模型示例的原始查询,也可以避开模型层直接执行自定义SQL。

  使用raw()管理器:

  
  The Django Documentation is really really good.基本上有两种执行原始SQL的方法。可以使用Manager.raw()执行返回模型示例的原始查询,也可以避开模型层直接执行自定义SQL。
 
  使用raw()管理器:
 
  >>> for p in Person.objects.raw('SELECT * FROM myapp_person'):
  ...     print p
  John Smith
  Jane Jones
  如果你想直接绕过模型层,你可以使用django.db.connection数据库查询操作,它代表默认的数据库连接:
 
  def my_custom_sql():
      from django.db import connection, transaction
      cursor = connection.cursor()
      # Data modifying operation - commit required
      cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
      transaction.commit_unless_managed()
      # Data retrieval operation - no commit required
      cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
      row = cursor.fetchone()
      return row
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!