Django model中的元选项

来源:互联网 发布:jq 数组包含 编辑:程序博客网 时间:2024/05/27 16:42
模型元选项


Options.abstract:
如果 abstract = True, 就表示模型是 抽象基类 (abstract base class).


Options.db_table:
该模型所用的数据表的名称:
db_table = 'music_album'


Options.db_tablespace:
当前模型所使用的数据库表空间 的名字。
默认值是项目设置中的DEFAULT_TABLESPACE,如果它存在的话。
如果后端并不支持表空间,这个选项可以忽略。


get_latest_by
Options.get_latest_by
模型中某个可排序的字段的名称,比如DateField、DateTimeField或者IntegerField。
它指定了Manager的latest()和earliest()中使用的默认字段。


Options.managed
默认为True,意思是Django在migrate命令中创建合适的数据表,并且会在 flush 管理命令中移除它们。
换句话说,Django会管理这些数据表的生命周期。
如果是False,Django 就不会为当前模型创建和删除数据表。


Options.order_with_respect_to
按照给定的字段把这个对象标记为”可排序的“。这一属性通常用到关联对象上面,使它在父对象中有序。
相关联的对象也有两个方法, get_next_in_order() 和get_previous_in_order(),用于按照合适的顺序访问它们。


Options.ordering
对象默认的顺序,获取一个对象的列表时使用:
ordering = ['-order_date']
它是一个字符串的列表或元组。每个字符串是一个字段名,前面带有可选的“-”前缀表示倒序。
前面没有“-”的字段表示正序。使用"?"来表示随机排序


Options.permissions
设置创建对象时权限表中额外的权限。增加、删除和修改权限会自动为每个模型创建。


Options.proxy
如果proxy = True, 作为该模型子类的另一个模型会被视为代理模型。


Options.unique_together
用来设置的不重复的字段组合:
unique_together = (("driver", "restaurant"),)
它是一个元组的元组,组合起来的时候必须是唯一的。它在Django后台中被使用,
在数据库层上约束数据(比如,在 CREATE TABLE 语句中包含 UNIQUE语句)。


Options.index_together
用来设置带有索引的字段组合:
index_together = [
    ["pub_date", "deadline"],
]
列表中的字段将会建立索引(例如,会在CREATE INDEX语句中被使用)。