1.setting 文件配置
-
DATABASES = {
-
'default': {
-
# 'ENGINE': 'django.db.backends.sqlite3',
-
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
-
'ENGINE': 'django.db.backends.mysql',
-
'NAME': 'zjx',
-
'USER': 'root',
-
'PASSWORD': '123456',
-
'HOST': '127.0.0.1',
-
'PORT': '3306',
-
}
-
}
2.命令执行:
django.db.connection:代表默认的连接
django.db.transaction :代表默认数据库事务(transaction)
用database connection调用 connection.cursor() 得到一个游标(cursor)对象。
然后调用 cursor.execute(sql, [params]) 执行SQL
cursor.fetchone() 或者 cursor.fetchall(): 返回结果行
如果执行修改操作,则调用 transaction.commit_unless_managed()来保证你的更改提交到数据库。
例子:
-
def my_custom_sql():
-
from django.db import connection, transaction
-
cursor = connection.cursor()
-
-
# 数据修改操作——提交要求
-
cursor.execute("UPDATE bar SET foo = 1 WHERE baz = %s", [self.baz])
-
transaction.commit_unless_managed()
-
-
# 数据检索操作,不需要提交
-
cursor.execute("SELECT foo FROM bar WHERE baz = %s", [self.baz])
-
row = cursor.fetchone()
-
cursor.close()
-
-
return row
阅读(888) | 评论(0) | 转发(0) |