Переопределение метода get_queryset в Django Admin

Подскажите, пожалуйста, почему может не работать такая конструкция:


class FastCountQuerySet(QuerySet):
    def count(self):
        pass


@admin.register(ItemOOSLog)
class ItemOOSLogAdmin(ImportExportModelAdmin):

    def get_queryset(self, request):
        qs = super(ItemOOSLogAdmin, self).get_queryset(request)
        return qs._chain(__class__=FastCountQuerySet)

Мне необходимо, чтобы при использовании метода get_queryset, использовался мой класс FastCountQuerySet вместо QuerySet. Нашёл, что это можно реализовать через qs._chain(__class__=FastCountQuerySet), но в итоге не работает(

Решение оказалось следующим:

class FastCountQuerySet(QuerySet):
    def count(self):
        pass


@admin.register(ItemOOSLog)
class ItemOOSLogAdmin(ImportExportModelAdmin):

    def get_queryset(self, request):
        qs = super(ItemOOSLogAdmin, self).get_queryset(request)
        qs.__class__ = FastCountQuerySet
        return qs._chain()
Вернуться на верх