我有一个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