Django多基管理si

2024-10-01 15:37:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚到Django,所以请原谅我的问题,但我找不到解决办法。你知道吗

我试着和多基地合作。f、 例如(sqlite3)。第一个是默认值(在文件中)数据库sqlite3)第二个是文件中的“depend”依赖.sqlite3. 你知道吗

我放了点东西进去设置.py地址:

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

之后:

python manage.py inspectdb --database 'depend' > models.py

和更改列键,我有:

from django.db import models

class AllFiles(models.Model):
    db_id = models.IntegerField(primary_key=True)
    filename = models.CharField(max_length=100, blank=True, null=True)
...

我的路由器.py现声明:

class AuthRouter:
    """
    A router to control all database operations on models in the
    auth application.
    """
    def db_for_read(self, model, **hints):
        """
        Attempts to read auth models go to auth_db.
        """
        if model._meta.app_label == 'depend':
            return 'depend'
        return None
...

而且在设置.py地址:

DATABASE_ROUTERS = [ 'router.AuthRouter',
                    ]

接下来,我将新数据库中的3个表添加到管理站点中:

admin.site.register(models.AllFiles)
admin.site.register(models.ImportingDict)
admin.site.register(models.InputDir)

当服务器(本地主机:8000)正在运行,并且admin已登录,我在admin视图(http://localhost:8000/admin/)中有 3个新位置和3个新表,但当尝试使用其中一个表时,得到:

Exception Type:     OperationalError
Exception Value:    

no such table: all_files

我错过了什么?怎么了?你知道吗

我应该注册路由器吗?怎么做?有什么例子吗?你知道吗

请帮帮我。你知道吗


Tags: 文件todjangopyauthregister数据库true
1条回答
网友
1楼 · 发布于 2024-10-01 15:37:22

解决了!你知道吗

问题/错误在中的应用程序标签中路线.py文件。。。你知道吗

曾经是:

if model._meta.app_label == 'depend':

应该是:

if model._meta.app_label == 'app':

管理工作完美:-)

谢谢你的帮助!你知道吗

相关问题 更多 >

    热门问题