Django 如何獲取 Model 字段列表撩满?

在平時(shí)的開發(fā)過程中蜒程,避免不了需要獲取 Model 中的字段列表。

那需要把所有字段都再復(fù)制一份嗎鹦牛?這樣的話就太麻煩了搞糕,而且后期也不好維護(hù)。

其實(shí)曼追,Django 內(nèi)置了一個(gè)方法窍仰,可以很輕松解決這個(gè)問題。

下面以 User 表舉一個(gè)例子礼殊。

>>> from django.contrib.auth.models import User
>>> User._meta.get_fields()
(<ManyToOneRel: admin.logentry>, <django.db.models.fields.AutoField: id>, <django.db.models.fields.CharField: password>, <django.db.models.fields.DateTimeField: last_login>, <django.db.models.fields.BooleanField: is_superuser>, <django.db.models.fields.CharField: username>, <django.db.models.fields.CharField: first_name>, <django.db.models.fields.CharField: last_name>, <django.db.models.fields.EmailField: email>, <django.db.models.fields.BooleanField: is_staff>, <django.db.models.fields.BooleanField: is_active>, <django.db.models.fields.DateTimeField: date_joined>, <django.db.models.fields.related.ManyToManyField: groups>, <django.db.models.fields.related.ManyToManyField: user_permissions>)

通過 get_fields() 方法會(huì)返回一個(gè) tuple驹吮,每個(gè)元素都是 model field 類型。

這個(gè)結(jié)果并不是我們想要的晶伦,我們需要的是字段名稱列表碟狞。只需要對(duì)每個(gè) field 字段取 name 屬性就可以了。

>>> [field.name for field in User._meta.get_fields()]
['logentry', 'id', 'password', 'last_login', 'is_superuser', 'username', 'first_name', 'last_name', 'email', 'is_staff', 'is_active', 'date_joined', 'groups', 'user_permissions']

這樣就可以了婚陪。

接下來族沃,我們將其抽象出一個(gè)函數(shù),這樣如果有需要直接調(diào)用就可以了泌参。

def get_model_fields(model):
    fields = [field.name for field in model._meta.get_fields()]
    return fields

以上就是本文的全部內(nèi)容脆淹,如果覺得還不錯(cuò)的話,歡迎點(diǎn)贊沽一,轉(zhuǎn)發(fā)關(guān)注盖溺,感謝支持。


推薦閱讀:

  • 計(jì)算機(jī)經(jīng)典書籍
  • 技術(shù)博客 硬核后端開發(fā)技術(shù)干貨铣缠,內(nèi)容包括 Python烘嘱、Django、Docker蝗蛙、Go蝇庭、Redis、ElasticSearch捡硅、Kafka哮内、Linux 等。
  • Go 程序員 Go 學(xué)習(xí)路線圖病曾,包括基礎(chǔ)專欄牍蜂,進(jìn)階專欄漾根,源碼閱讀,實(shí)戰(zhàn)開發(fā)鲫竞,面試刷題辐怕,必讀書單等一系列資源。
  • 面試題匯總 包括 Python从绘、Go寄疏、Redis、MySQL僵井、Kafka陕截、數(shù)據(jù)結(jié)構(gòu)、算法批什、編程农曲、網(wǎng)絡(luò)等各種常考題驻债。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末乳规,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子合呐,更是在濱河造成了極大的恐慌暮的,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淌实,死亡現(xiàn)場離奇詭異冻辩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拆祈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門恨闪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缘屹,你說我怎么就攤上這事凛剥∠莱穑” “怎么了轻姿?”我有些...
    開封第一講書人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長逻炊。 經(jīng)常有香客問我互亮,道長,這世上最難降的妖魔是什么余素? 我笑而不...
    開封第一講書人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任豹休,我火速辦了婚禮,結(jié)果婚禮上桨吊,老公的妹妹穿的比我還像新娘威根。我一直安慰自己凤巨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開白布洛搀。 她就那樣靜靜地躺著敢茁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪留美。 梳的紋絲不亂的頭發(fā)上彰檬,一...
    開封第一講書人閱讀 49,749評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音谎砾,去河邊找鬼逢倍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛景图,可吹牛的內(nèi)容都是我干的较雕。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼挚币,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼郎笆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忘晤,我...
    開封第一講書人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤宛蚓,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后设塔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凄吏,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年闰蛔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了痕钢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡序六,死狀恐怖任连,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情例诀,我是刑警寧澤随抠,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站繁涂,受9級(jí)特大地震影響拱她,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扔罪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一秉沼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦唬复、人聲如沸矗积。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漠魏。三九已至,卻和暖如春妄均,著一層夾襖步出監(jiān)牢的瞬間柱锹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來泰國打工丰包, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留禁熏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓邑彪,卻偏偏與公主長得像瞧毙,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寄症,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 提供兩種方法: 使用 list 將字典的 key 轉(zhuǎn)換成列表宙彪,然后取第一個(gè)元素 [0]。如果想要最后一個(gè) key ...
    yongxinz閱讀 1,142評(píng)論 0 2
  • 以上就是本文的全部內(nèi)容有巧,如果覺得還不錯(cuò)的話释漆,歡迎點(diǎn)贊,轉(zhuǎn)發(fā)和關(guān)注篮迎,感謝支持男图。 推薦閱讀: 計(jì)算機(jī)經(jīng)典書籍[http...
    yongxinz閱讀 223評(píng)論 0 1
  • 查詢單個(gè)容器 IP 地址: 使用下面命令可以查看容器詳細(xì)信息,里面包含 IP 地址信息: 或者使用下面命令直接輸出...
    yongxinz閱讀 553評(píng)論 0 1
  • Field options (字段選項(xiàng)甜橱。以下參數(shù)可用于所有字段類型逊笆。所有都是可選的。) Field.null 如果...
    寂寞杰羅閱讀 853評(píng)論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理岂傲,服務(wù)發(fā)現(xiàn)难裆,斷路器,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139