Olá Lucas, tudo bem com você?
Peço desculpas pela demora em lhe responder.
Quando usamos o método get_object_or_404
estamos aplicando o método get()
em determinado modelo, no nosso caso, no modelo Receita
, buscando no modelo seus objetos retornando o resultado em uma lista, caso esse modelo não seja encontrado será levantado a exceção 404
.
Quando usamos a seguinte sintaxe Receita.objects.get()
estamos buscando um objeto que pertence ao modelo Receita
, nesse caso, informamos uma referência para encontrarmos esse objeto, usamos o id
por ser um valor único, como apresentado abaixo.
r =Receita.objects.get(pk=receita_id)
No modo acima não estamos fazendo um tratamento de erro ou de exceção. Caso o objeto não seja encontrado será levantado o erro DoesNotExist
, caso por algum motivo seja encontrado objetos duplicados, será levantado o erro MultipleObjectsReturned
.
Os dois modos possuem objetivo de buscar objetos em um modelo, o primeiro (get_object_or_404
) será usado no momento em que queremos buscar todos os objetos retornando-os em uma lista, já o segundo modo (Receita.objects.get()
) usamos quando queremos um objeto em específico de um modelo.
Fico à disposição em caso de dúvidas.
Abraços e bons estudos.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!