關於django中Meta類的用法

2021-09-30 18:31:49 字數 1195 閱讀 4391

首先class meta做為巢狀類,主要目的是給上級類新增一些功能,或者指定一些標準

class main(models.model):

img = models.charfield(max_length=200) #

name = models.charfield(max_length=100) # 名稱

trackid = models.charfield(max_length=16) # 通用id

class meta:

abstract = true #抽象類

class mainwheel(main):

# 輪播banner

class meta:

db_table = 'axf_wheel'

class publisher(models.model):

name = models.charfield(max_length=30)

address = models.charfield(max_length=50)

city = models.charfield(max_length=60)

state_province = models.charfield(max_length=30)

country = models.charfield(max_length=50)

website = models.urlfield()

class meta:

ordering = ['order_date']

# 按訂單公升序排列

比如第乙個abstract=true這個東東,是為了繼承,將該基類定義為抽象類,即不必生成資料庫表單,只作為乙個可以繼承的基類,把一些子類必須的**放在基類,避免重複**也避免重複錄入資料庫。大概是這麼個意思吧?

再比如db_table='***x』這個東東更簡單些,其實就是指定該類的資料庫表單名字。當然如果不指定也沒關係,django會自動預設的按照一定規則生成資料模型對應的資料庫表名。至於合不合你的意那就得看緣分了,所以自己指定往往比較好。

又比如ordering=『***xx』,是表示按照指定的字段進行資料庫的排序。主要是為了好看好查詢。你可以指定任意的表單名稱或內容,資料庫生成之後就會按照指定的列進行排序。還可以公升序降序隨機
參考:

Django的模型類Meta

一懟 什麼是海盜精神?就是做自己喜歡做的事,哪怕它反抗了君主,我生而為狼,也像狼一樣死去。這就是海盜精神。在模型類中定義meta類來修改表名 class department models.model 部門類 name models.charfield max length 20 create da...

Django中 Meta 部分用法

model.userinfo.meta.model name 獲取該類對應表名 字串型別 model.userinfo.meta.get field username 獲取該類內指定字段資訊 物件 model.userinfo.meta.fields 獲取該類內所有字段物件 model.userin...

Django中 Meta 部分用法

model.userinfo.meta.model name 獲取該類對應表名 字串型別 model.userinfo.meta.get field username 獲取該類內指定字段資訊 物件 model.userinfo.meta.fields 獲取該類內所有字段物件 model.userin...