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

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

      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_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.

0 ответов

Другие вопросы по тегам