1
resposta

O que é o OBJ, de onde ele vem?

Olá, Aqui pela primeira vez no curso parece que aconteceu uma magica, ou seja, algo que nao foi explicado e que não faz sentido (pra mim pelo menos), olhando uma primeira vez. na linha abaixo vindo do ListaMatriculaALunoSerializer:

def get_periodo(self,obj):
      return obj.get_periodo_display()

o que é, de onde vem esse obj? Se nós estamos definindo a função como o sistema sabe que o objeto é periodo e não curso e preenche isso corretamente? qual a idéia por trás desse OBJ?

1 resposta

Oi Marcos, como vai?

Sua pergunta é interessantíssima. O django abstrai muita coisa e muita das vezes não nos preocupamos com o que está sendo realizado por baixo dos panos. Com certeza você verá outros exemplos de "mágica" caso venha utilizar de maneira recorrente esse framework.

Por padrão, quando definimos um campo, como foi o caso de período, por baixo dos panos há um método get_<nome_do_campo> e nesse caso, o professor fez a sobrescrita desse método ao fazer o método get_periodo. Em relação ao obj, ele se refere ao objeto que está sendo serializado, nesse caso, como sobrescrevemos a função get_periodo, esse obj se refere ao objeto período .

Você pode ver mais detalhes neste link da documentação.

Qualquer dúvida estou por aqui.

Abraços e bons estudos!