Rah*_*tal 2 python django model
我有一个数据库,其中填充了一些数据,我想在我的新 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': ''
}
}
Run Code Online (Sandbox Code Playgroud)
...
from django.db import connections
cursor = connections['old'].cursor()
cursor.execute("SELECT...")
cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)
参考文档:
但是,如果您想修改旧数据库中的数据,最好创建 models.py 文件并一如既往地使用它。是否使用inspectdb取决于你。例如,您在单独的临时项目中使用 inpsectdb 冷生成模型,使用 dumpdata 创建 json 文件并以某种方式将数据上传到活动项目。