gpt4 book ai didi

python - django中有没有什么方法可以在不创建models.py文件的情况下使用数据库?

转载 作者:行者123 更新时间:2023-12-01 04:35:09 27 4
gpt4 key购买 nike

我有一个数据库,其中填充了一些数据,我想在我的新 django 应用程序中使用它。他们有什么方法在我的 django 应用程序中使用数据库数据吗?实际上我不想对我的旧数据库进行任何更改,只想使用它的数据。任何人请建议我什么是更好的方法来做到这一点。

在搜索时我还发现了一个命令-inspectdb 它可以从数据库生成 model.py 文件,但有一些问题,它没有映射 model.py 中的外键,我们需要重新排列 model.py 文件中的类等等。所以我正在寻找其他替代方案。

最佳答案

您可以使用 django.db 模块中的 connection.cursor() 访问旧数据库中的数据。

如果你有两个数据库

DATABASES = {
'default': {
'NAME': 'new_database',
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'USER': '',
'PASSWORD': ''
},
'old': {
'NAME': 'old_database',
'ENGINE': 'django.db.backends.mysql',
'USER': '',
'PASSWORD': ''
}
}

...

from django.db import connections
cursor = connections['old'].cursor()
cursor.execute("SELECT...")
cursor.fetchall()

引用文档:

Executing custom SQL directly

Multiple databases

但是,如果您想修改旧数据库中的数据,最好创建 models.py 文件并一如既往地使用它。是否使用inspectdb取决于你。例如,您在单独的临时项目中使用 inpsectdb 冷生成模型,使用 dumpdata 创建 json 文件并以某种方式将数据上传到事件项目。

关于python - django中有没有什么方法可以在不创建models.py文件的情况下使用数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31833769/

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