model.py下的Meta笔记
来源:互联网 发布:上海同济大学网络教育 编辑:程序博客网 时间:2024/05/21 20:30
class Topic(models.Model): text = models.CharField(max_length=200) date_added = models.DateTimeField(auto_now_add=True) author = models.CharField(max_length=20) def __str__(self): # 1 """返回 models 的字符串的表示""" return self.textclass Entry(models.Model): class Meta: # 2 verbose_name_plural = "entriesssss" def __str__(self): """返回 model 的字符串表示""" return self.text[:50] + "..."
1、 注释#1处
是一个str()函数,其作用是。。。。。(代完成)
2、 注释#2处:
首先来看看 Meta元类的原文档:
Model metadata is “anything that’s not a field”, such as ordering options (ordering), database table name (db_table), or human-readable singular and plural names (verbose_name and verbose_name_plural). None are required, and adding class Meta to a model is completely optional.
翻译:
模型元数据是任何不是字段的东西,例如排序选项( ordering)、数据库表名(db_table)、或人类可读的单数和复数名称(verbose_name和verbose_name_plural)。没有一个是必需的,在模型中class Meta是完全可选的。
Meta下有很多options,这里选两个用到的举例说明:
(1) ordering
这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的。
这是一个字符串的元组或列表,来自于class Model中的字段
当字段名前面没有’-‘时,将默认使用升序排列。使用’?’将会随机排列
ordering=[‘date_added] # 按发布时间升序排列
ordering=[‘-date_added’] # 按发布时间按降序排列,-表示降序
ordering=[‘?date_added’] # 随机排序,?表示随机
ordering=[‘-date_added’,’author’] # 以date_added为降序,再以author升序排列
(2) verbose_name_plural
这个选项是指定模型的复数形式是什么,verbose_name_plural = “entriesssss",会再admin账户下才看得到差别。
如果不指定Django会自动在模型名称后加一个s,并且首字母自动大写’
比如上面的Topic 和 Entry,一个没有verbose_name_plural参数,一个有并且为verbose_name_plural= “entriesssss”,看结果:
- model.py下的Meta笔记
- GMF学习笔记(二、图形编辑器中标记的元模型 Notation meta-model)
- head下的meta
- django model Meta
- Qt--Meta-Object Model
- django的model、form.py、内置widgets、html表单相关
- django官方文档——Model 的 Meta 选项
- 同一文件夹下.py调用另一个.py文件的函数
- flask源码笔记:三,app.py模块(7)——Flask的方法(下)
- Django Model.py数据库模型
- python 中model.py详解
- 基于 Django1.10 文档的深入学习(4)—— models.py 之 class Meta
- Dango笔记---manage.py 脚本的使用
- Dango笔记---manage.py 脚本的使用
- web.py下session初始化的问题
- docker-py在suse下的安装
- Ubuntu下.py文件的运行
- caffe下draw_net.py的使用
- 实现图的邻接矩阵和邻接表的存储
- linux下进程间通信(1)
- Spring Boot学习(三):开发新一代Spring Java应用
- Elasticsearch 5.x 字段折叠的使用
- KindEditor-编辑器设置图标的显示隐藏
- model.py下的Meta笔记
- mac搭建python环境及tensoflow
- springboot源码分析6-springboot之PropertySource类初探
- 命令行编译C语言Hello World的过程
- 栈及链栈常用函数
- mybatis在Mapper.xml文件中使用大于,小于时要用 > <
- 从B树、B+树、B*树谈到R 树
- C# aspx获取web.config中的key值
- 自定义View的视图刷新问题