为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

汪汪一只猫 2023-02-22 13:56:55
目前,我有一个 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


查看完整回答
反对 回复 2023-02-22
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信