我有一個Django模型,其中一些字段具有指定的默認值。我期待在我的代碼中爲我們稍後獲取這些字段的默認值。是否有一種簡單的方法從模型中獲取特定字段的默認值?如何獲取Django模型中字段的默認值?
21
A
回答
15
你可以得到場這樣的:
myfield = MyModel._meta.get_field_by_name('field_name')
,默認就是現場的屬性:
myfield.default
35
0
如果需要的默認值不止一個字段(例如,在某種重新初始化步驟中),可能需要實例化模型的新臨時對象並使用該對象的字段值。
temp_obj = MyModel()
obj.field_1 = temp_obj.field_1 if cond_1 else 'foo'
...
obj.field_n = temp_obj.field_n if cond_n else 'bar'
當然,這只是值得的,如果臨時對象可以構建沒有進一步的性能/依賴性問題。
9
由於Django的1.9.x的,你可以使用:
field = TheModel._meta.get_field('field_name')
default_value = field.get_default()
相關問題
- 1. django獲取默認模型字段值
- 2. Django - 從另一個模型字段獲取默認值
- 3. Django - 如何將模型字段重置爲默認值?
- 4. Django模型字段默認爲空
- 5. 如何重寫Django中的默認用戶模型字段?
- 6. 獲取Django模型實例字段值
- 7. 如何獲取django模型字段中的值?
- 8. django模型默認值
- 9. 在django-transmeta中獲取默認語言字段的值
- 10. Django AdminForm字段默認值
- 11. Django的管理員 - 如何從其他表中拉模型默認字段值
- 12. 設置在Django模型字段默認值更好的辦法
- 13. 獲取一個字段的默認值
- 14. 從模型方法的Django模型字段默認
- 15. 如何獲取通常在Django中增加的字段的默認值?
- 16. CakePHP默認模型字段
- 17. Django - 默認字段值取決於其他字段值
- 18. 如何使用RESTlet獲取Netsuite中字段的默認值?
- 19. 如何獲取DB2查詢中字段的默認值?
- 20. 如何爲LinqToSQL模型的字段指定默認值?
- 21. 值的字段的默認Django管理
- 22. 的Django模型字段:參考自上默認的關鍵字
- 23. Django獲取模型的字段數
- 24. 獲取的Django模型字段
- 25. Django中間模型字段的m2m項目默認排序
- 26. Django的:如何將一個字段的默認值設置爲一個字段的值在父模型
- 27. 如何使用PosgreSQL函數將Django模型字段定義爲默認值
- 28. Django字段的默認值是什麼?
- 29. django:不可空字段的默認值
- 30. Django - 如何獲取模型中的所有字段
任何一個_被挖掘到的內部。看到我的問題:http://stackoverflow.com/questions/1011946/django-know-if-property-is-the-default-value – 2009-09-12 05:54:07
現在'get_field_by_name'方法返回一個字段對象作爲其第一項的元組。 – Adam 2014-05-09 10:27:32
@PaulTarjan你是對的,但是'_meta'是那些成熟的,不太可能改變元素的元素之一。普遍的共識是可以直接訪問模型的_meta。 – 2014-10-14 21:20:55