我的字段列表的對象:Django的訪問模型對象字段上運行時
fields = ('title', 'first_name', 'last_name)
現在我要訪問我的運行時對象的字段,沒有harcoding像這樣。
myobject.title
我正在尋找的是這樣的:
myobject.getFieldValue('title')
有沒有這樣在Django的方法?我沒有找到一個。
我的字段列表的對象:Django的訪問模型對象字段上運行時
fields = ('title', 'first_name', 'last_name)
現在我要訪問我的運行時對象的字段,沒有harcoding像這樣。
myobject.title
我正在尋找的是這樣的:
myobject.getFieldValue('title')
有沒有這樣在Django的方法?我沒有找到一個。
不是Django的方法,而是一個標準的Python內置:
getattr(myobject, 'title')
謝謝!這樣可行! – 2010-01-03 18:17:40
但是,如果你可以通過一些訪問對象的屬性,這樣myobject.title
,你爲什麼要經理(在數據庫中的情況下,查詢)還是一個函數來做到這一點?
我認爲有一些使用情況下,你想訪問一個字段的值,而不用硬印。我的用例如下:我有一個視圖,用於顯示錶中的所有聯繫人。該表是基於名爲HEADERS_CONTACT的列表創建的。我在不同的視圖和功能中使用這個列表。一個功能是導出聯繫人。這裏我想導出與HEADERS_CONTACT中定義的值相同的值。因此,如果我決定在聯繫人概覽中提供聯繫人的更多詳細信息,我將更改HEADERS_CONTACT列表,並確保我的導出功能將相應地導出值。 – 2010-01-03 18:21:28
我們有一些我們在大量數據庫模型中使用的MixIn類。大多數*但不是所有*都有一個特定的字段(例如'title'),所以在MixIn類的方法中,我們必須使用hasattr()來確保它能夠工作,然後getattr(),通常使用默認提供的價值。 – 2010-01-04 04:07:39
這是重複的。 http://stackoverflow.com/questions/1545645/how-to-set-django-model-field-by-name – 2010-01-03 17:04:28