Skip to content

Trocar get_queryset(request), usado com ModelAdmin, por get_queryset() se estiver usando Snippets #1419

@robertatakenaka

Description

@robertatakenaka

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.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions