gpt4 book ai didi

python - 如何在 View 中更改 Django 数据库架构?

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:22 24 4
gpt4 key购买 nike

如何从 Django View 更改数据库架构?

我希望用户选择数据库字段类型。

最佳答案

首先,settings.py 应该如下所示:

DATABASES = {
'default': {
'NAME': 'schema_name',
'ENGINE': 'django.db.backends.postgresql',
'USER': 'postgres',
'PASSWORD': 'password'
},
'foo': {
'NAME': 'schema_name',
'ENGINE': 'django.db.backends.mysql',
'USER': 'root',
'PASSWORD': 'password'
},
...
}

现在,在您的代码中,您可以手动决定与.using一起使用哪个架构/数据库。方法:

SomeModel.objects.using('foo').all() #this uses "foo"
SomeModel.objects.all() #this uses "default"

对于更复杂的逻辑,您可以创建 database router确定在给定场景中使用哪种架构。

更新

您可以执行raw queries通过导入连接

这是一个创建语句示例:

 from django.db import connection
with connection.cursor() as cursor:
sql = '''
CREATE TABLE foo (
col1 INT,
col2 VARCHAR(45)
)'''
cursor.execute(sql)

使用用户输入创建表时应该非常小心。以不安全的方式这样做可能会导致 SQL injection以及其他潜在的漏洞,例如 stored xss .

关于python - 如何在 View 中更改 Django 数据库架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58142414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com