Правильная структура каталогов для версионирования приложений (Django)

В настоящее время я начинаю работу над существующим проектом Django, и мне необходимо внести изменения в существующие API. Однако, я не могу изменить существующий код, поскольку старые приложения и сайты используют его, что может занять много времени для изменения структуры, и может нарушить текущие зависимости для них. Поэтому, пока что, как и просили, мне нужно поддерживать отдельные каталоги для изменения/обзора существующего кода и достичь структуры, подобной версионности для приложений Django. Что может быть лучшим способом/структурой для достижения этого?

Текущая структура проста и представлена django-admin startproject

project_dir
|___project_name_dir
    |___settings.py
    ...
|___app_1_dir
    |___ __init__.py
    |___ views.py, serializers.py
    ...
|___app_2_dir
    ...

Итак, мне нужно создать структуру типа версионности для app_1. Что может быть лучшим подходом для этого?

Вы можете создать новое приложение, названное api_v2.
Но обычно я помещаю все приложения в папку приложения в директории имя_проекта:

project_dir
|___project_name_dir
    |___settings.py
    |___applications
        |___api
            |___ __init__.py
            |___ views.py, serializers.py
        |___api_v2
            |___ __init__.py
            |___ views.py, serializers.py
        |___other_apps
            |___ __init__.py
            |___ views.py, serializers.py
Вернуться на верх