目前,我有一个 Django 项目,它有一个 API 可以让用户与我的数据库进行交互。本项目部署在 Google App Engine 上,连接到 Cloud SQL(MySQL 核心)。我想在这个项目中添加一些用 python 编写的基于 SQL 的函数在数据库上执行任务,例如查询、预测、计算等。自动化 (1)目前,我正在考虑使用 mysql.connector.connect() 从 Cloud SQL 获取数据库,如下所示mydb = mysql.connector.connect(
host="/cloudsql/project_name:region_name:instance_name",
user="username",
password="password",
database="database",
port = "3306", # port should not be specified in deployment?
)获得数据库后,我可以执行任何用 Python 编写的 SQL 逻辑。有人可以提出实现这些目标的方法吗?多谢。
1 回答
桃花长相依
TA贡献1860条经验 获得超8个赞
为了能够在 Django 中进行原始 SQL 查询,您必须首先在 Django 设置文件中设置数据库连接信息,如下所示:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database',
'USER': 'username',
'PASSWORD': 'password',
'HOST': '/cloudsql/project_name:region_name:instance_name',
'PORT': '3306',
}
}
然后在您要运行原始 SQL 的文件中执行以下操作:
from django.db import connection
def 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
添加回答
举报
0/150
提交
取消