有人可以解释为什么在以下示例中使用元类。
例如:
Class Employee (models.Model):
name = models.ForeignKey(name)
Gender = models.IntegerField()
class Meta:
ordering = ["Gender"]
感谢。
答案 0 :(得分:25)
Django模型使用Meta
类来包含有关模型的额外信息,这些信息不一定适合包含在模型类本身中。请注意,不与Python的metaclass
相同;这是一个完全不同的话题。
在这种情况下,它通过字段“Gender”
对此模型进行排序或排序答案 1 :(得分:3)
因为作者/程序员想要按性别字段的值对结果进行排序。
答案 2 :(得分:3)
在这种情况下,如果您未在查询中提供ORDER_BY
,则会定义排序的默认字段。
答案 3 :(得分:0)
Django Documentation for Models
中对此进行了解释https://docs.djangoproject.com/en/dev/topics/db/models/
使用内部类Meta提供模型元数据,例如:
Class Employee (models.Model):
....
class Meta:
ordering = ["attribute-X"]
另一个有用的选项可以在Meta类中使用verbose_name。