2016-09-20 168 views
0

我想编写一个视图来将某些模型字段值重置为默认值。我如何获得默认模型字段值?django获取默认模型字段值

class Foo(models.Model): 
    bar_field = models.CharField(blank=True, default='bar') 

所以我要的是:

def reset(request, id): 
    obj = get_object_or_404(Foo, id=id) 
    obj.bar_field = # logic to get default from model field 
    obj.save() 
    ... 
+0

更具体一点,你到底想做什么? – sebb

+0

已更新@SebastianBurzyński – Goran

+0

Duplicate:https://stackoverflow.com/questions/1308332/how-do-i-get-the-default-value-for-a-field-in-a-django-model – ThePhi

回答

0
myfield = Foo._meta.get_field_by_name('bar_field') 

,默认就是现场的属性:

myfield.default 
+0

其实它是myfield = Foo._meta.get_field('bar_field'),但你指向正确的方向。谢谢。 – Goran

+1

在Django 1.10中弃用:https://docs.djangoproject.com/en/1.11/ref/models/meta/#module-django.db.models.options – ThePhi