“Django model”的版本间的差异
跳到导航
跳到搜索
(创建页面,内容为“ =Django model中的 class Meta 详解= <pre> 一般的样子 class Meta: verbose_name = '项目管理 ' verbose_name_plural = verbose_name…”) |
|||
第13行: | 第13行: | ||
解说 | 解说 | ||
+ | |||
+ | Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等. | ||
+ | |||
+ | 下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全是可选的. | ||
+ | |||
+ | |||
+ | |||
verbose_name | verbose_name | ||
第25行: | 第32行: | ||
verbose_name_plural = "stories" | verbose_name_plural = "stories" | ||
若未提供该选项, Django 会使用 verbose_name + "s". | 若未提供该选项, Django 会使用 verbose_name + "s". | ||
+ | |||
+ | |||
+ | ordering | ||
+ | 这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的。比如下面的代码: | ||
+ | |||
+ | ordering=['order_date'] | ||
+ | # 按订单升序排列 | ||
+ | ordering=['-order_date'] | ||
+ | # 按订单降序排列,-表示降序 | ||
+ | ordering=['?order_date'] | ||
+ | # 随机排序,?表示随机 | ||
+ | ordering = ['-pub_date', 'author'] | ||
+ | # 对 pub_date 降序,然后对 author 升序 | ||
+ | |||
+ | |||
+ | permissions | ||
+ | permissions主要是为了在Django Admin管理模块下使用的,如果你设置了这个属性可以让指定的方法权限描述更清晰可读。 | ||
+ | |||
+ | 要创建一个对象所需要的额外的权限. 如果一个对象有 admin 设置, 则每个对象的添加,删除和改变权限会人(依据该选项)自动创建.下面这个例子指定了一个附加权限: can_deliver_pizzas: | ||
+ | |||
+ | permissions = (("can_deliver_pizzas", "Can deliver pizzas"),) | ||
+ | 这是一个2-元素 tuple 的tuple或列表, 其中两2-元素 tuple 的格式为:(permission_code, human_readable_permission_name). | ||
</pre> | </pre> | ||
+ | |||
+ | =see also= | ||
+ | [https://www.cnblogs.com/tongchengbin/p/7670927.html Django model中的 class Meta 详解] |
2021年6月12日 (六) 06:01的版本
Django model中的 class Meta 详解
一般的样子 class Meta: verbose_name = '项目管理 ' verbose_name_plural = verbose_name def __str__(self): return f"{self.name}项目 " 解说 Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等. 下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全是可选的. verbose_name verbose_name的意思很简单,就是给你的模型类起一个更可读的名字: verbose_name = "pizza" 若未提供该选项, Django 则会用一个类名字的 munged 版本来代替: CamelCase becomes camel case. verbose_name_plural 这个选项是指定,模型的复数形式是什么,比如: verbose_name_plural = "stories" 若未提供该选项, Django 会使用 verbose_name + "s". ordering 这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的。比如下面的代码: ordering=['order_date'] # 按订单升序排列 ordering=['-order_date'] # 按订单降序排列,-表示降序 ordering=['?order_date'] # 随机排序,?表示随机 ordering = ['-pub_date', 'author'] # 对 pub_date 降序,然后对 author 升序 permissions permissions主要是为了在Django Admin管理模块下使用的,如果你设置了这个属性可以让指定的方法权限描述更清晰可读。 要创建一个对象所需要的额外的权限. 如果一个对象有 admin 设置, 则每个对象的添加,删除和改变权限会人(依据该选项)自动创建.下面这个例子指定了一个附加权限: can_deliver_pizzas: permissions = (("can_deliver_pizzas", "Can deliver pizzas"),) 这是一个2-元素 tuple 的tuple或列表, 其中两2-元素 tuple 的格式为:(permission_code, human_readable_permission_name).