“Django model”的版本间的差异
跳到导航
跳到搜索
(创建页面,内容为“ =Django model中的 class Meta 详解= <pre> 一般的样子 class Meta: verbose_name = '项目管理 ' verbose_name_plural = verbose_name…”) |
|||
(未显示同一用户的5个中间版本) | |||
第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 升序 | ||
+ | |||
+ | 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). | ||
</pre> | </pre> | ||
+ | |||
+ | =django models def __str__(self)= | ||
+ | <pre> | ||
+ | 建议先看 | ||
+ | https://segmentfault.com/q/1010000006121303 | ||
+ | def __str__(self): | ||
+ | """将模型类以字符串的方式输出""" | ||
+ | return self.name | ||
+ | |||
+ | 举例子 只写模型类、不写__str__的时候 | ||
+ | 只写模型类、不写__str__的时候 | ||
+ | class BookInfo(models.Model): | ||
+ | # 创建字段,字段类型... | ||
+ | name = models.CharField(max_length=10) | ||
+ | |||
+ | 写__str__ 显示为中文str 等等 | ||
+ | |||
+ | |||
+ | class BookInfo(models.Model): | ||
+ | # 创建字段,字段类型... | ||
+ | name = models.CharField(max_length=10) | ||
+ | def __str__(self): | ||
+ | # """将模型类以字符串的方式输出""" | ||
+ | return self.name | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | https://segmentfault.com/q/1010000006121303 | ||
+ | |||
+ | [https://blog.csdn.net/wyongkang/article/details/116229846 django models def __str__(self)] | ||
+ | |||
+ | [https://blog.csdn.net/qq_43697400/article/details/86498546 Django模型类的补充__str__方法] | ||
+ | |||
+ | [https://www.zhihu.com/question/273973677 Django models def __str__(self)有什么作用?] | ||
+ | |||
+ | =see also= | ||
+ | [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 goodDay47-Django中的class Meta知识点] | ||
+ | |||
+ | [[category:django]] |
2021年6月12日 (六) 06:38的最新版本
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).
django models def __str__(self)
建议先看 https://segmentfault.com/q/1010000006121303 def __str__(self): """将模型类以字符串的方式输出""" return self.name 举例子 只写模型类、不写__str__的时候 只写模型类、不写__str__的时候 class BookInfo(models.Model): # 创建字段,字段类型... name = models.CharField(max_length=10) 写__str__ 显示为中文str 等等 class BookInfo(models.Model): # 创建字段,字段类型... name = models.CharField(max_length=10) def __str__(self): # """将模型类以字符串的方式输出""" return self.name
https://segmentfault.com/q/1010000006121303
django models def __str__(self)
Django models def __str__(self)有什么作用?