一、模型层的Meta选项详解

  Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性。使用方法及参数解释如下:

class Book(models.Model):
  nid=models.AutoField(primary_key=True)
  title=models.CharField(max_length=32)
  price = models.DecimalField(max_digits=5, decimal_places=2)   def __str__(self):
  return self.title   class Meta:
  app_label = "app02"
  db_table = "book"
  unique_together = ["title", "price"]
  verbose_name = "书籍"
  ordering = ["price"]

1、app_label

  这个选项只在一种情况下使用,就是你的模型类不在默认的应用程序包下的models.py文件中,这时候需要指定你这个模型类是哪个应用程序的。

  如果一个model没有定义在默认的models.py,例如如果你的app的models在myapp.models子模块下,你必须定义app_label让Django知道它属于哪一个app,如下:

 app_label = 'myapp'

2、db_table

  db_table是指定自定义数据库表名的。

  为了节省时间,Django有一套默认的按照一定规则(应用名_模型类名小写)生成数据模型对应的数据库表名。我们可以通过db_table自定义该model在数据库中的表名称,如下:

db_table = 'mytable'

3、ordering

  对象的默认顺序,用于获取对象列表时。

  其值是一个元组或字符串和/或查询表达式列表。每个字符串都是一个带有可选“ - ”前缀的字段名称,表示降序。没有前导“ - ”的字段将按升序排序。

  ordering = ['pub_date']  # 表示要按pub_date字段升序排序
  ordering = ['-pub_date'] # 要按pub_date降序排序
  ordering = ['-pub_date', 'author'] ?# 要按pub_date降序排序,然后按author升序排序

4、unique_together

  表示约束联合唯一字段,即一起使用的字段名称集必须是唯一的。

5、verbose_name

  对象的可读名称,单数,如果没有给出,Django将使用类名小写:即CamelCase变为camelcase。

更多Meta信息参见Django文档:https://docs.djangoproject.com/zh-hans/2.0/ref/models/options/

Django - 回顾(1)- 模型层的Meta选项详解的更多相关文章

  1. 模型层的Meta选项详解

    一 . 模型层的Meta选项详解 Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.便用方法及参数解释如下 : class Book(models.Model): ...

  2. DJango模型Meta选项详解

    Django模型之Meta选项详解 MEAT选项 Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当 ...

  3. Django模型之Meta选项详解

    Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性.而可用的选项大致包含以下几类 abstract 这个属性是定义当前的模型是不是一个抽象类.所谓抽象类是不会对应数据 ...

  4. Django的日常-模型层(2)

    目录 Django的日常-模型层(2) 几种常用的查询方式 聚合查询 分组查询 F和Q查询 查询优化相关 orm中常见字段 choices参数 orm的事务操作 Django的日常-模型层(2) 几种 ...

  5. Django的日常-模型层(1)

    目录 Django的日常-模型层(1) 模型层 django测试环境 ORM查询 Django的日常-模型层(1) 模型层 模型层其实就是我们应用名下的models.py文件,我们在里面写入想要创建的 ...

  6. Meta标签详解(HTML JAVASCRIPT)

    Meta标签详解,在网上转的,希望对大家有用 您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广 个人网站,人们首先想到的方法无外乎以下几种: ● 在搜索引擎中 ...

  7. WPD:Page Download Time Breakdown选项详解

    WPD:Page Download Time Breakdown选项详解 “页面下载时间细分”图显示每个页面组件下载时间的细分,可以根据它确定在网页下载期间事务响应时间缓慢是由网络错误引起还是由服务器 ...

  8. meta标签详解(meta标签的作用)///////////////////////////转

    meta标签详解(meta标签的作用) 很多人却忽视了HTML标签META的强大功效,一个好的META标签设计可以大大提高你的个人网站被搜索到的可能性,有兴趣吗,谁我来重新认识一下META标签吧   ...

  9. Meta标签详解

    [转载]Meta标签详解 Posted on 2005-05-17 20:00 二十四画生 阅读(54195) 评论(102)  编辑 收藏 Meta标签详解,在网上转的,希望对大家有用 引言 您的个 ...

随机推荐

  1. POJ-2564 01背包问题

    #include"cstdio" #include"cstring" #include"algorithm" using namespace ...

  2. Winform程序实现多显示屏、多屏幕显示的2种方法

    这篇文章主要介绍了Winform窗口实现多显示屏显示的2种方法,本文直接给出了实现代码,并对其中的一些重要参数做了解释,需要的朋友可以参考下. 一台主机连接了2台显示器(2个显卡),要求一个程序的两个 ...

  3. 逐步改用 IronPython 开发你的 ASP.NET 应用程序

    IronPython for ASP.NET 的 CTP 已经发布有一段时间了,我们在看了官方提供的范例之后,相信对一个 ASP.NET 应用程序中完全使用 IronPython 开发还是有一些担心的 ...

  4. 利用dynamic来提供动态方法的性能

    前段时间做了一个worklist的项目,有部分是利用xml配置DICOM的tag,然后根据xml把DICOM的Dataset转为实体类,或者把实体类转为Dataset. 当中主要应用了反射来调用Dat ...

  5. jquery给select赋值

    项目中用到通过ajax请求数据然后给select赋值,由于经常遇到类似的代码,在这里把整个过程记录一下. 首选发出ajax请求如下: <script type="text/javasc ...

  6. POJ 1046 Color Me Less(浅水)

    一.Description A color reduction is a mapping from a set of discrete colors to a smaller one. The sol ...

  7. mysql的简单操作

    创建数据库并设定字符集: CREATE  DATABASE hidb CHARACTER SET ‘utf8’; 使用数据库: use hidb; 删除数据库: DROP DATABASE hidb; ...

  8. PHP二维数组,根据多个字段来排序

    如果是最最常见的二维数组排序, 大多数情况下也只用到二维: 用php内置函数 array_multisort( )  是最简单的: <?php 假设, $arr 是一个二维数组, $arg1是取 ...

  9. BeanFactory和ApplicationContext的介绍

    ------------------siwuxie095                             Spring 通过一个配置文件描述 Bean 和 Bean 之间的依赖关系, 利用 J ...

  10. Servlet包介绍

    ----------------siwuxie095                         首先到 Tomcat 的官网下载 Tomcat 的 API 帮助文档     Tomcat 官网: ...