2013-12-08 69 views
0

models.pyDjango1.6更新视图,而无需更新

class Application(models.Model): 
    desc = models.CharField(max_length=40, unique=True, null=False) 
    name = models.CharField(max_length=40, null=False) 
    user = models.ForeignKey(User) 

views.py

class ApplicationUpdate(UpdateView): 
    model = Application 
    template_name = "apps/update.html" 
    fields = ['name', 'desc'] 
    context_object_name = "app" 
    success_url = reverse_lazy('app-list') 

模板

<div class='update-item'> 
     {{form.name.error}} 
     {{form.name.label_tag}} 
     {{form.name}} 
    </div> 
    <div class='update-item'> 
     {{form.desc.value}} 
    </div> 

这里如何显示领域我想显示降序字段在模板中,但更新时只有POST名称字段。任何解决方案?

回答

1

尝试其中之一:

  1. 只读设置上,你不希望被更改的字段属性。

  2. 相反的{{form.desc.value}}可以显示实例字段的值 - {{ form.instance.desc }},接下来从include属性中删除desc场。

+0

烨,它的工作原理。但可能不要在输入元素中放置desc字段? – linbo

+0

@linbo我不确定你在问什么。如果你想显示它作为文本输入,只需创建自定义输入标签并将'{{form.instance.desc}}'作为值。只是不要为输入设置任何名称属性,所以它不会被请求拾取。 – mariodev

+0

如果请求没有挑递减场,看起来更新不会在div元素工作 – linbo