注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 2003 resource kit之Roboc..
 帮助

django 执行自定义SQL


2008-04-11 00:52:08
 标签:Python Django   [推送到博客圈]

        在自定义 model 方法和模块级方法里,你可以自由的执行自定义SQL语句. 对象 django.db.connection 表示当前的数据库连接. 调用connection.cursor() 得到一个游标对象. 然后调用 cursor.execute(sql, [params])``以执行 SQL 语句, 使用 ``cursor.fetchone() 或cursor.fetchall() 得到结果集. 下面是一个例子:
def my_custom_sql(self):
    from django.db import connection
    cursor = connection.cursor()
    cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
    row = cursor.fetchone()
    return row

        如果你的SQL语句改变了数据库中的数据 -- 比如你使用了 DELETE 或 UPDATE 语句. 你需要调用 connection.commit() 来使你的修改生效.
例子:
def my_custom_sql2(self):
    from django.db import connection
    cursor = connection.cursor()
    cursor.execute("DELETE FROM bar WHERE baz = %s", [self.baz])
    connection.commit()




    文章评论
 
 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: