Django model中的class Meta详解_django model class meta
在Django中,class Meta
是用来包含模型元数据的内部类,它可以控制Django如何处理这个模型。以下是一些常用的选项:
db_table
:指定用于此模型的数据库表名。ordering
:一个字段名列表,用于设置默认的查询排序。verbose_name
:给模型提供一个人类可读的名称。verbose_name_plural
:定义模型的复数形式的人类可读名称。abstract
:如果设置为True,则模型将作为其他模型的基类。managed
:如果设置为False,Django将不会为此模型创建或删除数据库表。
示例代码:
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class Meta:
db_table = 'my_people' # 指定数据库表名
ordering = ['last_name', 'first_name'] # 排序字段
verbose_name_plural = "people" # 复数名称
在这个例子中,Person
模型将使用自定义的数据库表名my_people
,查询时会根据last_name
和first_name
字段排序,在Django admin或其他界面中显示时,模型的复数名称将是"people"而不是默认的"People"。
评论已关闭