【问题标题】:Is this warning in django_tenants still valid?django_tenants 中的这个警告仍然有效吗?
【发布时间】:2019-03-16 10:48:10
【问题描述】:

在 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 中的最后一次,但它似乎工作得很好。

【问题讨论】:

    标签: django multi-tenant


    【解决方案1】:

    如果你想让一个应用覆盖其他应用的管理命令,它应该是listed first

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

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

    所以这个建议已经过时了(这是五年前的changed)。

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

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

    所以你找到的那行代码可能不相关。

    【讨论】:

    • 谢谢@kevin。我赞成你的回答,但由于我的代表率低,它可能没有注册(还)。
    猜你喜欢
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 2016-11-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    相关资源
    最近更新 更多