• Django model中的Class Meta


    1.Meta元数据
    代码示例:

    class Foo(models.Model): 
        bar = models.CharField(maxlength=30)
    
        class Meta: 
            # ...
    

    Meta元数据的作用是,表明“不是一个字段”,比如排序项等。
    下面列出了所有的Meta选项

    2.app_label
    指明model实体,对应的应用,默认为当前应用

    app_lable = 'myapp'
    

    3.table_name
    指定自定义数据库表明,默认会使用app_label+'_'+model_name作为表名

    table_name = 'my_table'
    

    4.db_tablespace
    指明数据库表空间

    5.get_latest_by
    django管理方法中有个lastest()方法,就是得到最近一行的记录。
    通过这个选项,可以定义使用哪个字段

    get_latest_by = "order_date"
    

    6.managed
    django会自动根据模型类生成映射的数据库表,将managed设为False,则不会对数据库表进行操作。

    7.order_with_respect_to
    这个选项一般用于多对多的关系中,它指向一个关联对象。就是说关联对象找到这个对象后它是经过排序的。

    order_with_respect_to = 'pizza'
    

    8.ordering
    指定模型对象返回的结果集,按照哪个字段排序的

    # 按order_date降序,再按author升序
    ordering = ['-order_date', 'author']
    

    9.permissions
    指定model的管理权限(增删改查)

    permissions = (("can_deliver_pizzas","can deliver pizzas"),)
    

    10.unique_together
    当需要两个或以上字段保持唯一性时

    unique_together = (("first_name", "last_name"),)
    

    11.verbose_name
    模型别名

    verbose_name = "pizza"
    

    12.verbose_name_plural
    模型复数别名

    verbose_name_plural = "pizzas"
    
  • 相关阅读:
    60. 搜索插入位置
    62. 搜索旋转排序数组
    101. 删除排序数组中的重复数字 II
    397. 最长上升连续子序列
    172. 删除元素
    31. 数组划分
    100. 删除排序数组中的重复数字
    407. 加一
    412. 分糖果
    14. 二分查找
  • 原文地址:https://www.cnblogs.com/shijingjing07/p/9052729.html
Copyright © 2020-2023  润新知