Django 4 и загрузчик Unittest

Мы используем Django для интернет-магазина и хотим перейти на Django 4. Однако после перехода на тестовую ветку у нас возникла проблема, о которой я расскажу здесь. Мы обслуживаем два разных рынка, назовем их рынок A и B :) Поскольку эти два рынка могут иметь различные функциональные возможности, наш INSTALLED_APPS заполняется следующим образом:

MARKET_SPECIFIC_APPS = {
    MARKET_A: [
        'market_a.apps.MarketAConfig',
        'payment_system_a.apps.PaymentSystemAConfig'
    ],
    MARKET_B: [
        'market_b.apps.MarketBConfig',
        'payment_system_b.apps.PaymentSystemBConfig',
    ],
}

if MARKET in MARKET_SPECIFIC_APPS:
    # If there is a market-specific app, add it to INSTALLED_APPS
    INSTALLED_APPS += MARKET_SPECIFIC_APPS[MARKET]

Однако, при выполнении MARKET-специфических тестов для каждого рынка, только MARKET_A проходит. MARKET_B теперь выдает ошибку, после обновления с Django 3.2 до Django 4

RuntimeError: Model class payment_system_b.models.payment.Payment doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

То есть, этот тест все еще выполняется, и программа запуска тестов включает его в INSTALLED_APPS, хотя не должна.

Есть ли какие-либо изменения в журнале изменений Django 4, которые я упустил? Запуск этих специфических для рынка тестов работал нормально до обновления до Django 4

Вернуться на верх