Django 中的 Meta 到底是什么?

2024-04-10

我想简单地知道 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将会对Authors by last_name首先,如果出现tie, 排序依据first_name.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 中的 Meta 到底是什么? 的相关文章

随机推荐

  • sizeof 运算符的实现

    我尝试过实现 sizeof 运算符 我是这样做的 define my sizeof x x 1 x 但对于任一数据类型 结果总是为 1 然后我用谷歌搜索了一下 发现了以下代码 define my size x char x 1 char x
  • 尽管我设置了环境变量,NODE_ENV 显示未定义

    我正在使用 webstorm 并尝试使用设置环境变量 set NODE ENV development 当我使用检查环境变量时 echo NODE ENV 我得到的答案是发展 但是在我的节点应用程序中 当我使用检查变量时 var b pro
  • 单击按钮时,无法识别的选择器发送到实例错误

    我不完全确定为什么会出现此错误 当我单击 FirstViewController 上的按钮时会发生这种情况 Terminating app due to uncaught exception NSInvalidArgumentExcepti
  • 如何在 SQLite 中计算不同利率的复利

    我需要按产品计算复利 其中利率可能因年份而异 简化表如下 initial value是第一年开始时产品的价值 final value是相应年末的包括利息的价值 product year initial value interest fina
  • select N + 1 比 eager join 更好吗?

    我正在使用 nhibernate profiler 并看到它在一些地方给我一个 Select n 1 警告 明显的解决方法是进行一些预先的热切连接 但这让我思考 在某些情况下 与可能会加载大量您从未实际使用的数据的连接相比 使用 Selec
  • 我应该将哪个版本的 OpenJFX (JavaFX) 和 Scene Builder 与 Amazon Corretto 11 (OpenJDK) 一起使用?

    您认为 我应该将 OpenJFX JavaFX 和 Scene Builder 与 Amazon Corretto 11 OpenJDK 一起使用的最佳版本是什么 目前 截至本文发布之日 有 2 个版本的 OpenJFX JavaFX 和
  • 如何在 VS 2015 中关闭 Roslyn 代码修复?

    如何在 VS 2015 中关闭 Roslyn 代码修复 它工作正常 使用最新的 Resharper 9 1 2 但在初始化时它仍然会阻止导航 我的意思是 Home End Left Right 会延迟 0 5 1 5 秒 而且它似乎欺骗了导
  • 什么是好的跨平台 C++ IDE? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 它需要有良好的代码完成支持 调试器和浏览代码的好方法 单击以转到文档 由于我被 Java IDE Eclipse 宠坏了 如果它支持重构
  • Angular Http 优先级

    我在我的应用程序中进行了大量 API 调用 即 50 个 完成所有 api 调用的总时间约为 1 分钟 所有 api 调用的优先级均为 2 我已启用角度缓存 因此 与此同时 如果我的应用程序的用户只想关注所有 api 调用中的一些 即仅 6
  • 从 HashSet 转换为 String[]

    最好的转换方式是什么HashSet
  • RStudio - 在查看器窗格中渲染 html 内容

    我想在 RStudio 查看器窗格中显示存储在我的工作目录中的 html 内容 我读过了这个帖子 https support rstudio com hc en us articles 202133558 Extending RStudio
  • Android 模拟器中队列已满、丢失事件

    我正在使用从 SDK 工具运行 API 版本 15 的 Android 模拟器 在控制台中我收到以下错误 Date Emulator KBD Full queue lose event 我显然无法点击任何东西 我用谷歌搜索了它 唯一的解决方
  • 如何使用 Telegram API 实现授权?

    我想使用 PHP 实现多重授权 以便与 Telegram REST API 交互 我想解决什么任务 嗯 很简单 几十个用户 他们都有像这里这样的 carma 10 2 1000 等 以及相关的组分类 网站管理员和客户 在我的网站上有一个用户
  • 比较和对比轻量级标记语言[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 反应式扩展的用途是什么

    一个 MVC 3 网站 其中一些部分使用 Silverlight 5 这种情况下可以使用Rx吗 如果是这样 如何以及由哪些组成部分 申请可以受益 The Rx 的预发布文档 http msdn microsoft com en us lib
  • Google API 客户端库 PHP - 删除不必要的文件夹和文件

    我只是按照谷歌团队提供的说明与购物 API 进行通信 https developers google com api client library php auth service accounts 一切正常 我完成了集成 用于购物的 AP
  • pytorch grad 在 .backward() 之后为 None

    我刚刚安装火炬 1 0 0 on Python 3 7 2 macOS 并尝试tutorial https pytorch org tutorials beginner blitz autograd tutorial html sphx g
  • Direct Show 9 声子错误“引脚无法连接”

    尝试将 Direct Show 9 后端与 qt 的声子框架一起使用时 出现以下错误 Pins cannot connect due to not supporting the same transport 0x80040266 有谁知道这
  • 如何使 is_arithmetic::value 为 true?

    我的想法是 我有一个函数可以对输入进行算术运算 所以可能是这样的 include
  • Django 中的 Meta 到底是什么?

    我想简单地知道 Django 中的 Meta 类是什么以及它们的作用 from django db import models Class Author models Model first name models CharField ma