2010-01-27 16 views
7

Qualcuno può spiegare perché la meta class è utilizzata nell'esempio seguente.Uso di meta class in django

Es:

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


    class Meta: 
     ordering = ["Gender"] 

Grazie.

risposta

3

Perché autore/programmatore vuole ordinare i risultati in base al valore di campo di genere.

25

I modelli Django utilizzano la classe Meta per contenere informazioni aggiuntive sul modello che non sarebbero necessariamente appropriate da contenere all'interno della classe del modello stesso. Si noti che questo è non uguale a quello di Python metaclass; questo è un argomento completamente diverso.

In questo caso l'ordinazione o l'ordinamento le query a questo modello da campo "di genere"

3

In questo caso definisce il campo predefinito per l'ordine se non si fornisce ORDER_BY nella query.

0

Si è spiegato in Django Documentazione per i modelli

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

Lascia la tua metadati modello utilizzando una classe interna Meta, come:

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

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

Un'altra utile opzione può essere utilizzata in classe di Meta è verbose_name .

Problemi correlati