2010-01-27 39 views
7

有人可以解释为什么元类在下面的例子中使用。在django中使用元类

例:

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


    class Meta: 
     ordering = ["Gender"] 

感谢。

回答

3

因为作者/程序员希望按性别字段的值排序结果排序查询到这个模型。

25

Django模型使用Meta类包含有关模型,不一定是合适的模型类本身包含额外的信息。请注意,这是而不是与Python的metaclass相同;这是一个完全不同的话题。

在这种情况下,订购或由场“性别”

3

在这种情况下,如果您在查询中未提供ORDER_BY,它将定义缺省字段。

0

它在Django文档解释了模型

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

通过使用一个内部类元,喜欢给你的模型元数据:

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

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

另一个有用的选项可以在课堂元使用是verbose_name 。