zoukankan      html  css  js  c++  java
  • django model之Meta选项

    Django模型类的Meta是一个内部类,它用于定义一些Django模型类的行为特性

    abstract

    如果为True,就表示抽象基类,不创建表,只是把字段传递给继承自己的子类使用

    app_label

    这个选型只在一种情况下使用,就是你的模型不在默认的应用程序包下的models.py文件中,这时候需要指定你这个模型是哪个应用程序的。如果模型在INSTALLED_APPS之外被定义,则必须通过app_label声明它属于哪个app

    db_table

    该模型所用数据表的名称。Django默认使用你的 model class 的名称和包含这个 model 的 app 名称来构建 数据库的表名称。可以自定义这个表在数据库中的表名称,db_table = xxx

    default_related_name

    关联对象反向查找源对象时默认用到的名称,默认为<model_name>_set。也可以直接模型类中定义一个related_name来覆盖默认值

    ordering

    这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的。这是一个字符串的元组或列表,每个字符串都是一个字段名,前面带有可选的“-”前缀表示降序。 前面没有“-”的时候,将默认使用升序排列。 使用字符串“?”来随机排序。

    • ordering=['order_date'] # 按订单升序排列
    • ordering=['-order_date'] # 按订单降序排列,-表示降序
    • ordering=['?order_date'] # 随机排序,?表示随机
    • ordering=['-pub_date','author'] # 以pub_date为降序,在以author升序排列

    unique_together

    用来设置的不重复的字段组合,它是一个元组的元组,组合起来的时候必须是唯一的。这个元数据是非常重要的一个!它等同于数据库的联合约束!

    比如:

    unique_together = (('name', 'birth_day', 'address'),)

    表示这3个字段的组合必须是唯一的,一旦三者都相同,则会被Django拒绝创建。联合唯一约束无法作用于普通的多对多字段。unique_together接收一个二维的元组((xx,xx,xx,...),(),(),()...),每一个元素都是一个元组,表示一组联合唯一约束,可以同时设置多组约束。为了方便,对于只有一组约束的情况下,可以简单地使用一维元素

    verbose_name

    verbose_name的意思很简单,就是给你的模型类起一个更可读的名字一般定义为中文,verbose_name = "学校"

    用于admin中表名显示,每个字段也可以设置这个属性,用于admin中表里的字段的显示

    verbose_name_plural

    模型对象的复数名,比如“apples”。因为我们中文通常不区分单复数,所以保持和verbose_name一致也可以如果此项没有设置,Django 会使用 verbose_name"s"

  • 相关阅读:
    SoC FPGA开发板的FPGA配置数据下载和固化
    字体解码
    ProxyApi-大数据采集用的IP代理池
    mongodb-to-mongodb
    mongodb分片
    kubernetes部署kube-scheduler服务
    kubernetes部署kube-controller-manager服务
    kubernetes部署 kube-apiserver服务
    kubernetes部署haproxy、keepalived为kube-apiserver做集群
    kubernetes部署Docker私有仓库Registry
  • 原文地址:https://www.cnblogs.com/zq8421/p/10984261.html
Copyright © 2011-2022 走看看