18.Meta
[toc]{type: “ol”, level: [2, 3, 4, 5]}
概念
Meta是一个内部类,它用于定义一些Django模型类的行为特性
abstract
定义当前的模型是不是一个抽象类。
抽象类不会对应数据库表。一般我们用它来归纳一些公共属性字段,继承它的子类可以继承这些字段
abstract=True
app_label
模型不在默认的应用程序包下的models.py文件中,需要指定该模型是哪个应用程序的。
app_label = 'myapp'
db_table
Django有一套默认的按照一定规则生成数据模型对应的数据库中的表的名字
可以做特殊指定:table_name = 'my_owner_table'
order_with_respect_to
这个选项一般用于多对多的关系中,它指向一个关联对象,就是说关联对象找到这个对象后它是经过排序的。
指定这个属性后你会得到一个get_xxx_order()和set_xxx_order()的方法,通过它们你可以设置或者回去排序的对象
ordering
这个字段是告诉Django模型对象返回的记录结果集是按照哪个字段排序的
ordering=['order_date'] # 按订单升序排列
ordering=['-order_date'] # 按订单降序排列,-表示降序
ordering=['?order_date'] # 随机排序,?表示随机
ordering=['-pub_date','author'] # 以pub_date为降序,在以author升序排列
unique_together
联合唯一时使用
unique_together = (("first_name", "last_name"),("first_music", "last_music"))