0
我不得不爲我的查詢編寫自定義where子句。我需要從模型中的字段中獲取Oracle表中顯示的列名。我遍歷MyModel._meta.fields中的模型字段並獲取名稱屬性。在除了一個的情況下,模型字段的名稱是該列的名稱。在例外情況下,字段名稱對於列來說太長,所以Django的syncdb給了這個列一個縮寫名稱。我如何獲取列名?從Django模型字段名獲取縮寫列名
我的字段名:political_contributions_description
列名:political_contributions_de0ec3
我已經試過field.get_attname_column(),如
for field in MyModel._meta.fields:
field.get_attname_column()
但是,這只是給了我下面的元組爲我字段:
('political_contributions_description','political_contributions_description')
順便說一句,超過30個字符的Oracle列將被縮寫。
沒有工作。它使我獲得全名,而不是數據庫列的縮寫名稱。順便說一句,該列需要超過30個字符才能縮寫,至少Oracle。 – broccoli2000
您可以嘗試使用db_column屬性而不是列。 –
db_column沒有在shell中返回任何內容,可能是None。 (對不起,延遲迴復,週末離開了。) – broccoli2000