Uso de meta -classe em django
-
23-09-2019 - |
Pergunta
Alguém pode explicar por que a meta -classe é usada no exemplo a seguir.
Ex:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
Obrigado.
Solução
Porque o autor/programador deseja classificar os resultados pelo valor do campo de gênero.
Outras dicas
Os modelos Django usam o Meta
classe para conter informações extras sobre o modelo que não seria necessariamente apropriado para conter dentro da própria classe do modelo. Observe que isso é não o mesmo que o de Python metaclass
; Esse é um tópico completamente diferente.
Nesse caso, encomendar ou classificar as consultas para este modelo por campo "gênero"
Nesse caso, ele define o campo padrão para pedir se você não fornecer ORDER_BY
em sua consulta.
É explicado na documentação do Django para modelos
https://docs.djangoproject.com/en/dev/topics/db/models/
Dê aos metadados do seu modelo usando uma meta da classe interna, como:
Class Employee (models.Model):
....
class Meta:
ordering = ["attribute-X"]
Outra opção útil pode ser usada na classe meta é verbose_name.