Model Meta

class Meta:

 

Options.abstract

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

Options.db_table

该模型所用的数据表的名称:

db_table = 'Students'

Options.get_latest_by

模型中某个可排序的字段的名称,比如DateFieldDateTimeField或者IntegerField它指定了Managerlatest()earliest()中使用的默认字段。

例如:get_latest_by = "pub_date"

Options.managed

默认为True,意思是Django在migrate命令中创建合适的数据表,并且会在 flush 管理命令中移除它们。换句话说,Django会管理这些数据表的生命周期。

如果是False,Django 就不会为当前模型创建和删除数据表。如果当前模型表示一个已经存在的,通过其它方法建立的数据库视图或者数据表,这会相当有用。

Options.ordering

对象默认的顺序,获取一个对象的列表时使用:

ordering = ['-order_date']

它是一个字符串的列表或元组。每个字符串是一个字段名,前面带有可选的“-”前缀表示倒序。前面没有“-”的字段表示正序。使用"?"来表示随机排序。

例如,要按照pub_date字段的正序排序,这样写:

ordering = ['pub_date']

按照pub_date字段的倒序排序,这样写:

ordering = ['-pub_date']

先按照pub_date的倒序排序,再按照 author 的正序排序,这样写:

ordering = ['-pub_date', 'author']

Options.unique_together

  字段联合索引:

  unique_together = (("user_info", "news"),)
  

警告: 排序并不是没有任何代价的操作。你向ordering属性添加的每个字段都会产生你数据库的开销。你添加的每个外键也会隐式包含它的默认顺序。

未完待续。。。。

 

 

 

 

posted @ 2017-05-19 16:55  Vincen_shen  阅读(174)  评论(0)    收藏  举报