Редактирование кода модуля в venv во время сборки докера в приложении Django + React
У меня есть React в качестве фронтенда и Django с Django REST Framework, работающий как API. Проблема в том, что я изменил несколько строк кода в модуле, который я установил для приложения Django. Очевидно, что во время сборки Docker эти изменения не сохраняются. Потому что папка .venv для виртуального окружения не копируется в контейнер. Я спрашиваю, как внести изменения в модуль в папке .venv
во время сборки. Количество изменений не велико. Всего две строки.
Модуль является django-rest-multiple-models==2.1.3
(https://pypi.org/project/django-rest-multiple-models/)
В папке drf_multiple_model
, которая является основной папкой модуля в .venv
, я изменил следующее (строки 196-207):
def get_label(self, queryset, query_data):
"""
Gets option label for each datum. Can be used for type identification
of individual serialized objects
"""
if query_data.get('label', False):
return query_data['label']
elif self.add_model_type:
try:
return queryset.model._meta.verbose_name
except AttributeError:
return query_data['queryset'].model._meta.verbose_name
Вместо __name__
verbose_name
было
Решение гораздо проще, чем казалось мне сначала. Используйте ООП:
- Наследуйте класс требуемого модуля.
- Переопределите необходимый метод.
- Используйте переопределенный класс.