【问题标题】:How to access more databases in Django using SQLite 3如何使用 SQLite 3 在 Django 中访问更多数据库
【发布时间】:2009-10-28 04:53:04
【问题描述】:

在 Django 中,我使用了两个应用程序:

  1. python manage.py startapp 书籍
  2. python manage.py startapp 联系人

我仍然只使用书籍应用程序模型。所以我使用DATABASE_NAME 喜欢:

DATABASE_NAME = 'C:/WorkBase/Python/first/books/book.db'  

现在我想使用第二个联系人应用程序模型。如何将联系人应用程序模型添加到 DATABASE_NAME?

我的INSTALLED_APPS 看起来像这样。

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'first.books',
    'first.contacts',  
)

注意:我使用 SQLite 3 作为数据库。

【问题讨论】:

标签: django django-models


【解决方案1】:

我认为 Aravind 的问题是“如何在 books.db sqlite3 数据库中为我的联系人应用程序创建模型?”。大多数人似乎认为他想要多数据库支持 - 但事实并非如此。

1) 数据库文件的名称无关紧要。仅仅因为您将其称为书籍并不意味着它不会将所有应用程序的模型存储在您的 INSTALLED_APPS 中。

2) 要在 sqlite3 数据库中为联系人应用程序创建模型,您必须执行 manage.py syncdb - 将为您创建任何新表,修改模型可能需要您删除 books.db执行 manage.py syncdb 之前的文件。

举个例子:django.contrib.auth 在 books.db 数据库文件中创建了表。您的 INSTALLED_APPS 中列出的任何其他应用程序也是如此。

希望对您有所帮助。

【讨论】:

    【解决方案2】:

    Django 目前不支持多个数据库。但是,您可以在新应用程序中同步新模型,它们都将进入同一个数据库,一切都会正常工作。

    【讨论】:

    • hi .Ur corret.But 它可以支持多个模型。我想知道如何访问另一个模型(意味着联系应用程序模型)。为此我需要更改 DATABASE_NAME 知道..它是如何
    • 非常。谢谢懒蟒,,,,,,,,,,,,,,,,
    【解决方案3】:

    在 SQLITE 中,您可以“附加数据库”到另一个 SQLite 数据库。

    我不确定确切的语法,因为我总是通过 sqliteman 的“系统”菜单完成此操作。

    附加的数据库表使用与本地表不同的“模式”/高级限定符,但这对 Django 来说应该不是问题。

    【讨论】:

      猜你喜欢
      • 2016-11-27
      • 1970-01-01
      • 2023-03-26
      • 2011-10-01
      • 2012-03-16
      • 2012-09-12
      • 2018-12-09
      • 1970-01-01
      • 2019-06-15
      相关资源
      最近更新 更多