我想简单地知道 Django 中的 Meta 类是什么以及它们的作用。
from django.db import models
Class Author(models.Model):
first_name=models.CharField(max_length=20)
last_name=models.CharField(max_length=20)
class Meta:
ordering=['last_name','first_name']
Meta这个词起源于古希腊语,意思是“元用于描述自我反思或自我引用的事物。“。特定于 Django,它是一个类,您可以在其中描述模型的某些方面。例如,默认情况下记录应如何排序、该模型的数据库表的名称是什么,等等。
有关的文档元选项[Django 文档] https://docs.djangoproject.com/en/dev/topics/db/models/#meta-options says:
模型元数据是“任何不是字段的东西”,例如排序选项(ordering
)、数据库表名(db_table
),或人类可读的单数和复数名称 (verbose_name
and verbose_name_plural
)。不需要,并且添加类Meta
模型是完全可选的。
Django 文档包含一个Django 模型的详尽列表Meta options https://docs.djangoproject.com/en/dev/ref/models/options/。例如对于ordering属性 [Django 文档] https://docs.djangoproject.com/en/dev/ref/models/options/#ordering:
对象的默认顺序,用于获取对象列表时使用。 (...)
这里的ordering
指定如果您查询Author
物体,比如Author.objects.all()
,那么如果你没有指定任何排序,Django将会对Author
s by last_name
首先,如果出现tie, 排序依据first_name
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)