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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top