【问题标题】:How to import an existing database in my Django project?如何在我的 Django 项目中导入现有数据库?
【发布时间】:2020-02-23 14:46:06
【问题描述】:

我正在尝试将现有的 sqlite3 数据库添加到我的 Django 项目中,但它似乎无法被识别。

我已将该数据库添加到我的项目文件夹中,修改了 settings.py 文件以反映该添加:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    },
    'added_db': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'added_db.sqlite3'),
    }
}

然后我运行了“python manage.py makemigrations”和“python manage.py migrate”命令,但它似乎没有做任何事情。当我运行“python manage.py inspectdb”时,它只显示默认数据库中的表。

我错过了什么?

【问题讨论】:

  • 你读过关于迁移的文章吗--fake

标签: python django database


【解决方案1】:

取决于文档:

迁移管理命令一次对一个数据库进行操作。默认情况下,它在默认数据库上运行,但通过提供 --database 选项,您可以告诉它同步不同的数据库。

因此,您必须在进行迁移时提供您的数据库名称。详细信息您可以查看here

./manage.py migrate --database=added_db

【讨论】:

  • 谢谢您,先生,它似乎奏效了!不过只有一个问题。迁移后,生成了 0001_initial.py 文件。如果我想从我的数据库中检索数据,是否需要使用此文件中生成的代码在 models.py 中创建一个新模型?还是无论如何都会自动创建模型?
  • 如果你的模型相同,你不需要重新定义你的模型,但是如果它根据数据库发生变化,你必须定义它。
猜你喜欢
  • 2014-11-30
  • 2023-03-08
  • 2021-03-02
  • 2013-01-23
  • 2019-06-10
  • 2017-08-22
  • 2011-01-24
  • 2021-01-04
  • 2021-03-07
相关资源
最近更新 更多