• django模型中的meta选项整理


    django模型中使用Meta类表示模型的元数据,所谓元数据即是除了字段意外的数据。

    已经用到过的Meta主要选项,其他选项用到了再做补充:

    一、ordering选项

    1. 用于对查询结果对象排序;
    2. ordering的值可以是一个元组/列表,或者查询表达式,其中每一个字符串是模型中的一个字段,默认是升序排列,字段前面加上'-'表示降序排列,如果是"?"表示随机排列:  
    ordering=['index']
    ordering=['-index']
    ordering = ['-pub_date', 'author']

      也可以用查询表达式,按作者升序排序,并使空值最后排序: 

    from django.db.models import F
    
    ordering = [F('author').asc(nulls_last=True)]

    注意:当在视图中同时使用了order_by字段进行排序后,会以order_by的结果为准(相当于是重写了排序规则)

    二、db_table选项

    表示数据库中存的表的名称,数据库中默认的表名称app名称_模型名称小写:

     指定数据库名称以后:

    三、verbose_name、verbose_name_plural(单、复数)选项

     admin后台展示数据库名称展现形式:没有指定时,默认显示名称为模型类的名称;指定了verbose_name后,按照指定的显示

    四、abstract选项

    当在Meta中指定了abstract=true时,表明该模型类是抽象的基类,不会生成数据库表,不能被保存和实例化;当被其他模型类继承后,对应模型将拥有该基类的字段;

    基类的字段继承后,可以重写字段值

    五、app_lable选项

    模型在INSTALLED_APPS中的应用程序外部定义,它必须声明属于哪个应用程序

    app_label = 'myapp

  • 相关阅读:
    stl应用(map)或字典树(有点东西)
    圆与三角形的面积(sin())
    kmp(循环节)
    kmp(多次无重叠匹配)
    【WEB-INF】WEB-INF是Java的WEB应用的安全目录
    【viewResolver】 springmvc jsp
    【welcome-file-list】让默认页生效
    【filter】springmvc web.xml
    【JSF框架】 是一种标准
    【jpa】 引用包的问题
  • 原文地址:https://www.cnblogs.com/canghai1024/p/13082856.html
Copyright © 2020-2023  润新知