在Django中我使用两个应用程序:
我仍然只使用书籍应用程序模型。所以我使用的是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作为数据库。
答案 0 :(得分:2)
我认为Aravind所问的是“如何在books.db sqlite3数据库中为我的联系人应用程序创建模型?”。大多数人似乎认为他想要多个数据库支持 - 但事实并非如此。
1)数据库文件的名称无关紧要。仅仅因为你把它称为书籍并不意味着它不会存储INSTALLED_APPS中所有应用程序的模型。
2)要在sqlite3数据库中为Contacts应用程序创建模型,您必须执行manage.py syncdb - 将为您创建任何新表,模型的修改可能需要您删除books.db在执行manage.py syncdb之前执行文件。
就像一个例子:django.contrib.auth
已经在books.db数据库文件中创建了表。您的INSTALLED_APPS中列出的任何其他应用程序也是如此。
希望有所帮助。
答案 1 :(得分:1)
Django目前不支持多个数据库。但是,您可以在新应用程序中同步dbdb新模型,它们将全部放在同一个数据库中,一切都会正常工作。
答案 2 :(得分:0)
在SQLITE中,您可以“将数据库”附加到另一个SQLite数据库。
我不确定确切的语法,因为我一直通过sqliteman“系统”菜单完成此操作。
附加数据库表使用来自本地表的不同“模式”/高级限定符,但这不应该是Django的问题。