2010-01-27 9 views
7

¿Puede alguien explicar por qué se utiliza la clase meta en el siguiente ejemplo?Uso de metaclase en django

Ex:

Class Employee (models.Model): 
    name = models.ForeignKey(name) 
    Gender = models.IntegerField() 


    class Meta: 
     ordering = ["Gender"] 

Gracias.

Respuesta

3

Debido a autor/programador desea ordenar los resultados por valor de campo de Género.

25

Los modelos de Django utilizan la clase Meta para contener información adicional sobre el modelo que no sería necesariamente contener dentro de la propia clase de modelo. Tenga en cuenta que esto es no lo mismo que Python metaclass; ese es un tema completamente diferente.

En este caso, ordenar o clasificar las consultas a este modelo por el campo "Género"

3

En este caso define el campo predeterminado para ordenar si no proporciona ORDER_BY en su consulta.

0

se explica en Django Documentación para modelos

https://docs.djangoproject.com/en/dev/topics/db/models/ 

Dé su modelo de metadatos mediante el uso de una clase interna Meta, como:

Class Employee (models.Model): 
    .... 

    class Meta: 
     ordering = ["attribute-X"] 

Otra opción útil se puede utilizar en la clase Meta es verbose_name .

Cuestiones relacionadas