我有一个数据库,其中填充了一些数据,我想在我的新django应用程序中使用它。他们在我的django应用程序中使用数据库的任何方式也是如此。实际上,我不想在旧数据库中进行任何更改,只想使用其数据。任何人请建议我做更好的方法。
在搜索时我也找到了一个命令 - inspectdb
它可以从数据库生成model.py文件,但是它们的一些问题是它没有映射到model.py中的外键,我们需要在model.py文件中重新安排我们的类等等。所以我正在寻找其他替代方案。
答案 0 :(得分:2)
您可以使用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()
参考文档:
但是如果你想修改旧数据库中的数据,最好创建models.py文件并一如既往地使用它。是否使用inspectdb取决于您。例如,你在单独的临时项目中使用inpsectdb冷生成模型,使dumpdata创建json文件并以某种方式将数据上传到活动项目。