django 执行自定义SQL

        在自定义 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()
        例子 [url]http://www.djangoproject.com/documentation/models/custom_methods/[/url]

你可能感兴趣的:(数据库,python,django,职场,休闲)