2011-03-09 55 views

回答

17

有一個未公開的_meta API,在整個Django中廣泛用於自省模型。它將模型選項存儲在類型上,並提供大約二十種方法和屬性來檢查模型及其字段。你可以用它來獲得所有模型字段,然後從你可以得到列名的領域,因爲它們指定所有的業務邏輯:

for field in Model._meta.fields: 
    field.get_attname_column() 

這將返回一個元組將包含屬性(場)模型名稱和數據庫列名稱。對於模型字段foo = models.IntegerField(db_column='bar'),這將返回('foo', 'bar')

+6

這就是我一直在尋找 - 謝謝。不過,我發現self._meta.get_field('fieldname')。列更方便。 – user647790 2011-03-09 10:11:01

+0

Model._meta.get_field('foo')。get_attname_column()[1]將返回您的db_column名稱。 只是爲了重述之前的評論用法。 – Danil 2018-02-07 08:42:52

相關問題