例:
class Meta:
verbose_name = '文章'
verbose_name_plural = '文章'
通过一个内嵌类 "class Meta" 给你的 model 定义元数据, 类似下面这样:
class Foo(models.Model):
bar = models.CharField(maxlength=30)
class Meta:
# ...
Model 元数据就是 "不是一个字段的任何数据" -- 比如排序选项, admin 选项等等.
下面是所有可能用到的 Meta 选项. 没有一个选项是必需的. 是否添加 class Meta 到你的 model 完全是可选的.
db_table
本模块在数据库中对应的表的名字:
db_table = "pizza_orders"
若不提供该参数, Django 会使用 app_label + '_' + module_name 作为表的名字.
若你的表的名字是一个 SQL 保留字, 或包含 Python 变量名不允许的字符--特别是连字符 --没关系. Django 会自动在幕后替你将列名字和表名字用引号引起来.
get_latest_by
一个 DateField 或 DateTimeField 字段的名字. 若提供该选项, 该模块将拥有一个 get_latest() 函数以得到 "最新的" 对象(依据那个字段):
get_latest_by = "order_date"
点击 获取最新对象 可以看到一个完整的例子.
order_with_respect_to
标记给定字段的对象是 "orderable" 的.它用于关联对象以允许他们以父对象期望的方式排序.举例来说, 如果一个 PizzaToppping 关联到一个 Pizza 对象, 这样做:
order_with_respect_to = 'pizza'
...就允许 toppings 依照相关的 pizza 来排序.
order_with_respect_to
将该对象标记为可按给定字段排序. This is almost always used with related objects to allow them to be ordered with respect to a parent object. 举例来说, 如果一个 PizzaToppping 关联到一个 Pizza 对象, 你可以使用:
order_with_respect_to = 'pizza'
这就允许 toppings 被排序to be ordered 关于相关的 pizza 对象
ordering
默认排序字段及排序方式, 用于得到一个对象列表的任何场合:
ordering = ['-order_date']
这是一个 tuple 或一个字符串列表. 每个字符串是一个字段名带及一个可选的前缀 "-" , 这个前缀表示按降序排序(递减). 若没有这个前缀,则表示按升序排序.字符串 "?" 表示随机排序.
举个例子, 要对 pub_date 字段以升序排列, 这样做:
ordering = ['pub_date']
要降序排列, 这样:
ordering = ['-pub_date']
要对 pub_date 降序,然后对 author 升序, 这样:
ordering = ['-pub_date', 'author']
点击 指定排序 查看一个完整的例子. 注意一点,不论你使用了多少个字段排序, admin 只使用第一个字段.
permissions
要创建一个对象所需要的额外的权限. 如果一个对象有 admin 设置, 则每个对象的添加,删除和改变权限会人(依据该选项)自动创建.下面这个例子指定了一个附加权限: can_deliver_pizzas:
permissions = (("can_deliver_pizzas", "Can deliver pizzas"),)
这是一个2-元素 tuple 的tuple或列表, 其中两2-元素 tuple 的格式为:(permission_code, human_readable_permission_name). .
unique_together
Sets of field names that, taken together, must be unique:
unique_together = (("driver", "restaurant"),)
这是一个字段列表的列表,这些字段的综合值必须是唯一的. 这会在 Django admin 层和数据库层同时做出限制(也就是相关的 UNIQUE 语句会被包括在 CREATE TABLE 语句中).
verbose_name
是该对象的一个可读性更好的唯一名字:
verbose_name = "pizza"
若未提供该选项, Django 则会用一个类名字的 munged 版本来代替: CamelCase becomes camel case.
verbose_name_plural
对象名字的复数:
verbose_name_plural = "stories"
若未提供该选项, Django 会使用 verbose_name + "s".
THE REST OF THIS HAS NOT YET BEEN EDITED
Table names
Automatic primary key fields
转自:http://www.woodpecker.org.cn/obp/django/django-faq/model-api.html
分享到:
相关推荐
Django_layui后台模板
会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 会议室预约小程序+Django服务端后台源码 ...
本PPT重在产出后端框架Django,前端框架Vue,交互协议HTTP,前后端交互流程这几个方面。其中以一个我已经设计好的项目为讲解路线,串联起web项目前后端分离开发思路,以及最主要的一点:数据交互。包括请求、响应、...
后台admin模块,需要后台管理的内容有:文章、分类、作者、评论、自定义的user用户; # 2.登录和注册模块; # 3.前端页面的数据展示和路由的配置; # 项目和功能分析 # 1.文章的呈现:包括文章的标题、内容、作者、...
该博客使用了pycharm进行编写,使用了自带的sqllite数据库,并且实现了后台人员管理博客,有基本的登录注册功能,还有博客的增删改查功能,普通人员不需要登录,可以查看博客,实现了指定搜索的
基于django的python自动化测试后台源码+全部数据.zip TestPlatformDjango 先添加系统的环境变量 ENV=1 用来区别本地环境以及线上环境 测试环境:ENV=1 生产环境:ENV=SERVER 根据数据库迁移文件生成对应SQL语句并...
基于Python和Django的后台管理框架 基于Python和Django的后台管理框架 基于Python和Django的后台管理框架 基于Python和Django的后台管理框架 基于Python和Django的后台管理框架 基于Python和Django的后台管理...
管理员通过MySQL数据库添加管理员操作添加管理员用户,然后管理员通过Web后台网页登录界面进行管理员账号登陆,进入主界面后可以从左侧导航栏选择页面功能,页面功能包含首页信息、用户管理、路灯管理、故障管理...
基于Django3.2.7+Vue2+ElementUI的相对比较自动化生成的后台管理系统。借助SimpleUI开源项目对Django原生的Admin后台管理页面进行了二次开发和优化改进而生成的比较现代化的后台管理系统。 功能: 设备管理(服务器...
基于 python3+django 开发的一套 web 可视化的运维自动化项目源码 基于 python3+django 开发的一套 web 可视化的运维自动化项目源码 基于 python3+django 开发的一套 web 可视化的运维自动化项目源码 基于 ...
Django 自带的后台管理系统,方便对于文章、用户及其他动态内容的管理 文章分类、标签、浏览量统计以及规范的 SEO 设置 用户认证系统,在 Django 自带的用户系统的基础上扩展 Oauth 认证,支持微博、Github 等第三方...
使用Python Django的Web自动化测试平台
基于Django开发的新闻网站及网站后台管理系统源码.zip
Python Django Web典型模块开发实战_用Django设计大型电商的类别表_编程项目案例实例详解课程教程.pdf
django实现用户的登录注册连接后台数据库完成主页的搭建,并且附有忘记密码 验证码等功能。
django显示HTML页面小例,使用Django模块通过配置路由等操作显示一个HTML页面。
SilverFox是一个采用Django和基于Bootstrap开发的Gentelella模板实现的KBEngine服务器后台管理系统
基于python框架django实现的个人博客管理系统包含前端+后台 运行环境 django1.10+python3+sublime text3+Navicat Premium+cmd命令 项目技术 django+python+sql+cmd+html+css+jquery 使用分页插件,jquery实现万年历...
Python基于Django编写的基础后台系统,包含完善的用户管理。 Python基于Django编写的基础后台系统,包含完善的用户管理。 Python基于Django编写的基础后台系统,包含完善的用户管理。 Python基于Django编写的基础...
Python Django Web典型模块开发实战_用Django REST framework实现豆瓣API应用_编程项目案例实例详解课程教程