在Django中使用元类
有人能解释一下为什么在下面这个例子中使用了元类吗?
例子:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
谢谢。
4 个回答
3
在这种情况下,如果你在查询中没有提供 ORDER_BY
,那么它会定义一个默认的排序字段。
26
Django的模型使用一个叫做Meta
的类来存放一些额外的信息,这些信息不一定适合放在模型类里面。需要注意的是,这个Meta
类和Python的metaclass
是完全不同的概念,后者是另一个话题。
在这个例子中,Meta
类用来按照“性别”这个字段对查询结果进行排序。
3
因为作者/程序员想要根据性别字段的值来对结果进行排序。