“Django model”的版本间的差异
跳到导航
跳到搜索
第65行: | 第65行: | ||
=see also= | =see also= | ||
[https://www.cnblogs.com/tongchengbin/p/7670927.html Django model中的 class Meta 详解] | [https://www.cnblogs.com/tongchengbin/p/7670927.html Django model中的 class Meta 详解] | ||
+ | |||
+ | [https://blog.csdn.net/Moniicoo/article/details/81781572 Django模型类Meta元数据详解(class Meta: )] | ||
+ | |||
+ | [https://blog.csdn.net/qq_41763291/article/details/80229977 Day47-Django中的class Meta知识点] |
2021年6月12日 (六) 06:03的版本
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 升序 abstract Options.abstract 如果 abstract = True, 就表示模型是 抽象基类 (abstract base class). 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).