Descrição da tarefa
Corrigir o padrão get_queryset(request). usado com ModelAdmin, removendo o request para usar com Snippets.
return super().get_queryset(request).filter(**params)
O super().get_queryset(request) está retornando None em vez de um QuerySet.
Isso acontece porque, na migração de ModelAdmin para SnippetViewSet, a assinatura do método get_queryset mudou. No SnippetViewSet do Wagtail, o método get_queryset da view não recebe request como argumento — ele usa self.request internamente. Quando você chama super().get_queryset(request), o Wagtail interpreta esse request de forma inesperada e retorna None.
O fix provável é ajustar a chamada ao super(). Sem ver o código completo, mas baseado no padrão da migração que você tem feito, deve ser algo assim:
# ANTES (padrão ModelAdmin)
def get_queryset(self, request):
return super().get_queryset(request).filter(**params)
# DEPOIS (padrão SnippetViewSet)
def get_queryset(self):
return super().get_queryset().filter(**params)
Se você precisar do request para montar os params (por exemplo, filtrar por usuário), use self.request dentro do método.
Descrição da tarefa
Corrigir o padrão
get_queryset(request).usado com ModelAdmin, removendo o request para usar com Snippets.O
super().get_queryset(request)está retornandoNoneem vez de um QuerySet.Isso acontece porque, na migração de ModelAdmin para SnippetViewSet, a assinatura do método
get_querysetmudou. No SnippetViewSet do Wagtail, o métodoget_querysetda view não receberequestcomo argumento — ele usaself.requestinternamente. Quando você chamasuper().get_queryset(request), o Wagtail interpreta esserequestde forma inesperada e retornaNone.O fix provável é ajustar a chamada ao
super(). Sem ver o código completo, mas baseado no padrão da migração que você tem feito, deve ser algo assim:Se você precisar do
requestpara montar osparams(por exemplo, filtrar por usuário), useself.requestdentro do método.