猿问

编写python编写的SQL代码与Django数据库交互

目前,我有一个 Django 项目,它有一个 API 可以让用户与我的数据库进行交互。本项目部署在 Google App Engine 上,连接到 Cloud SQL(MySQL 核心)。

我想在这个项目中添加一些用 python 编写的基于 SQL 的函数

  1. 在数据库上执行任务,例如查询、预测、计算等。

  2. 自动化 (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 逻辑。

有人可以提出实现这些目标的方法吗?多谢。


汪汪一只猫
浏览 104回答 1
1回答

桃花长相依

为了能够在 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 connectiondef 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
随时随地看视频慕课网APP

相关分类

Python
我要回答