django 模型中的元类
元数据是指提供有关另一个数据的信息的一组特定数据。在 django 中,我们使用 django 模型来设计我们数据库的表及其字段。如果我们必须添加一些关于模型本身的数据,我们使用 meta
类。在本文中了解有关 django 模型中 meta
类的更多信息。
django 中的 meta
类
meta
类是一个内部类,这意味着它在模型内部定义如下:
from django.db import models
class mymodel(models.model):
...
class meta:
...
meta
类可用于定义有关模型的各种内容,例如权限、数据库名称、单复数名称、抽象、排序等。向 django 模型添加 meta
类是完全可选的。
此类还带有许多你可以配置的选项。以下是一些常用的元选项;你可以探索所有的元选项这里
django 元选项 - 摘要
该选项用于定义模型是否抽象;它们与抽象类的工作方式相同。抽象类是不能被实例化,只能被扩展或继承的类。
设置为抽象的模型只能被继承。如果有多个具有共同字段的模型,则可以使用此选项。
from django.db import models
class human(models.model):
genders = (
("m", "male"),
("f", "female"),
("nb", "non-binary"),
("t", "transgender"),
("i", "intersex"),
("o", "other"),
("pnts", "prefer not to say"),
)
name = models.charfield(max_length=200)
age = models.integerfield(default=0)
gender = models.charfield(max_length=50, choices=genders)
class meta:
abstract = true # important
class teacher(human):
subject = models.charfield(max_length=200)
class student(human):
grade = models.integerfield(default=0)
在这里,teacher
和 student
模型将包含 human
模型内的所有字段。在数据库中,只会创建 teacher
和 student
模型。
django 元选项 - db_table
此选项用于设置用于标识数据库内表的名称。例如:如果我执行以下操作,我的模型的名称将是数据库中的 job
。
from django.db import models
class jobposting(models.model):
class meta:
db_table = "job"
django 元选项 - 排序
此选项采用字符串值列表,它们是模型字段。它用于定义模型对象的排序。当检索此模型的对象时,它们将按此顺序出现。
from django.db import models
class jobposting(models.model):
datetimeofposting = models.datetimefield(auto_now_add=true)
class meta:
ordering = ["-datetimeofposting"]
在上面的示例中,检索到的对象将根据 datetimeofposting
字段按降序排列。(-
前缀用于定义降序。)
django 元选项 - verbose_name
此选项用于为模型定义一个人类可读的单数名称,并将覆盖 django 的默认命名约定。此名称也将反映在管理面板 (/admin/
) 中。
from django.db import models
class jobposting(models.model):
class meta:
verbose_name = "job posting"
django 元选项 - verbose_name_plural
此选项用于为模型定义一个人类可读的复数名称,这将再次覆盖 django 的默认命名约定。此名称也将反映在管理面板 (/admin/
) 中。
from django.db import models
class jobposting(models.model):
class meta:
verbose_name_plural = "job postings"
转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处
本文地址:
相关文章
pandas dataframe dataframe.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:python
-
dataframe.shift() 函数是将 dataframe 的索引按指定的周期数进行移位。
python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:python
-
python pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:python
-
pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。
pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:python
-
本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。
pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:python
-
本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。
在 python 中将 pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:python
-
了解如何在 python 中将 pandas 系列日期时间转换为字符串