2010-09-16 93 views
0

我正在使用mysql数据库。我有许多表的模式。我想为不同架构中的各种表创建一个Django管理界面。目前,对于一个模式,我使用的设置是这样的:访问Django管理界面中的各种模式?

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'schema1',      
     'USER': 'test',      
     'PASSWORD': 'test',     
     'HOST': 'example.abc.com',      
     'PORT': '',      
    } 

创建一个应用程序之后,以我在应用此架构的admin.py注册任何模型创建管理界面。现在我想创建一个其他应用程序,在其中的admin.py中注册另一个模式的模型。这些模型将属于不同的模式。现在如何为指向不同模式的第二个应用创建管理界面?

是否可以使用两个不同的settings.py和两个不同的管理界面创建两个Django项目? (因此,每个将指向不同的架构。)

我已经搜索了很多关于此。但找不到任何信息。可能有一种简单的方法,我正在以一种错误的方式处理这个问题。任何帮助表示赞赏。

在此先感谢。

回答

0
+0

谢谢。我之前尝试过,但我遇到了一个问题。在创建新对象时,它指的是默认数据库,而不是MultiDBAdmin中指定的数据库。在stacktrace中,我可以看到错误在django/db/transaction.py - commit_on_success方法中。查看源代码后,我发现db参数作为None传递。所以它采用默认数据库。我意识到这应该是一个单独的帖子本身。长话短说,我得出的结论是一个错误,并开始寻找一个干净的方式,像一个数据库的管理界面... – Steve 2010-09-16 19:48:16

0

我不太清楚,如果你的意思是你要处理不同的数据库或只是注册不同的型号记录良好。如果您想在不同的管理网站中使用不同的型号,您可以登录register multiple admin sites with different models。然后,您可以使用'/ admin'来访问一个站点,使用'/ otheradmin'访问另一个站点。也许你会发现django-admin-tools有用来定制你的模型/应用程序在管理员的显示!

+0

我想为每个数据库有一个管理员。可能吗? – Steve 2010-09-16 19:53:54