Как указать, что класс C будет использоваться по наследству классами, которые также наследуют от класса A

Я пытаюсь создать утилитарный класс UploadFile, который будет использоваться подклассами ModelAdmin.

Я могу просто создать ванильный класс, и все будет хорошо и прекрасно. Однако, есть ли способ сообщить статическим анализаторам и инструментам завершения кода, что этот утилитарный класс будет иметь доступ к свойствам ModelAdmin, без UploadFile наследования от ModelAdmin?

Наследование от ModelAdmin дает ошибку:

TypeError: Cannot create a consistent method resolution
order (MRO) for bases ModelAdmin, UploadFile

Код примера:

class ModelAdmin(...):
    def send_message(...):
        pass

class UploadFile:
    def upload(self):
        self.send_message()

class MyModelAdmin(ModelAdmin, UploadFile):
    pass

Перенос наследования ModelAdmin из MyModelAdmin в FileUpload помешал бы MyModelAdmin создать другие утилитарные классы, которые также получали бы доступ к свойствам и методам ModelAdmin

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