Django model 中meta options

时间:2021-11-08 07:52:25

之前学了abstract,这是后续的一些options

app_label:

app_label的作用是:如果一个model定义不在INSTALLED_APPS中,那么此时就需要声明,这个model的属于哪个app,例如:app_label="myapp"

db_table:

这个在之前的那个abstract中也讲过,就是指定database中表名

get_latest_by:

model中可排序的字段名,如:DateField, DateTimeField, IntegerField.

get_latest_by = "order_date"

managed:

默认为True,这样django就会为这个model创建合适的数据表来同步数据,如果设置为False,就不会创建或者删除表.

ordering:

对象的排序方式,如:

ordering = ['-order_date']

前面加负号表是降序,默认升序。可以是一个元组,列表等。

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