Olá João, como você está? Espero que esteja bem ^-^
Muito bem observado!
A função get_object_or_404
, recebe como parâmetro um modelo ou QuerySets que nada mais são do que consultas sql geradas a partir de dados do banco. E o filter é um tipo de QuerySet. Então podemos modificar a função get_object_or_404
para o seguinte:
queryset = Receita.objects.filter(publicada=True)
receita = get_object_or_404(queryset, pk=receita_id)
Uma forma mais simples ainda, seria passar o parâmetro nomeado publicada
para a função, da seguinte forma:
receita = get_object_or_404(Receita, publicada=True, pk=receita_id)
Porém, a primeira maneira pode ser útil se você receber uma variável de queryset de outro lugar ou se porventura quiser encadear mais métodos.
Tudo bem?!
Qualquer dúvida é só falar, fico à disposição. Abraços e bons estudos!