У меня есть django mixin:
class PublicSchemaOnlyAdminAccessMixin:
def has_view_or_change_permission(self, request, obj=None):
return connection.schema_name == get_public_schema_name()
def has_add_permission(self, request):
return connection.schema_name == get_public_schema_name()
def has_module_permission(self, request):
return connection.schema_name == get_public_schema_name()
, который используется во многих моих классах ModelAdmin, например:
class BlockAdmin(PublicSchemaOnlyAdminAccessMixin, admin.ModelAdmin):
pass
Но я получаю предупреждение об этом структура из LGTM:
Базовые классы имеют конфликтующие значения для атрибута 'has_add_permission': функция has_add_permission и функция has_add_permission.
Однако ни одно из их предложенных решений кажется практичным для этого, так как я использую это примерно в половине моих классов Admin.
Есть ли либо A. Лучший способ разрешить эту структуру плохого кода, либо B. Этот код? хорошая структура (насколько я понимаю, классы читаются справа налево и миксин должен go слева для согласованного поведения)