django_tenants中的此警告仍然有效吗?

时间:2019-03-15 10:11:14

标签: django multi-tenant

在django_tenants的apps.py中,我看到了:

recommended_config = """
Warning: You should put 'django_tenants' at the end of INSTALLED_APPS:
INSTALLED_APPS = TENANT_APPS + SHARED_APPS + ('django_tenants',)
This is necessary to overwrite built-in django management commands with
their schema-aware implementations.
"""

我的问题是:那仍然有效吗?在我偶然在代码中看到该消息之前,我们已经在开发环境中安装了django_tenants。在INSTALLED_APPS中它不是最后一个,但似乎工作得很好。

1 个答案:

答案 0 :(得分:0)

如果您希望某个应用覆盖其他应用的管理命令,则应为listed first

  

Django注册内置命令,然后反向搜索INSTALLED_APPS中的命令。在搜索过程中,如果命令名称与已注册的命令重复,则新发现的命令将覆盖第一个命令。

     

换句话说,要覆盖命令,新命令必须具有相同的名称,并且其应用程序必须在{strong> INSTALLED_APPS中被覆盖的命令应用程序之前。

该建议已过时(五年前是changed)。

请注意,django_tenants 的实际installation documentation是最新的,首先列出了'django_tenants'

SHARED_APPS = (
    'django_tenants',  # mandatory
    ...
)
INSTALLED_APPS = list(SHARED_APPS) + ...

因此您发现的那行代码可能不相关。