保存模型 - 不会验证

时间:2011-05-31 23:53:10

标签: django django-models django-forms

我在这里做错了,但我找不到。

我正在使用模型表单:

class ArtistInfo(ModelForm):
    class Meta:
        model = Onesheet
        fields = (
            'name',
            'genre',
            'location',
            'biography',
        )

尝试保存为现有记录输入的数据。

def edit_artist_info(request, onesheet):
    onesheet = Onesheet.objects.get(id = onesheet)
    if request.method == 'POST':
        form = ArtistInfo(request.POST, instance=onesheet)
        if form.is_valid():
            test = form.save(commit=False)
            test.save()
            HttpResponseRedirect('/')
    form = ArtistInfo(instance=onesheet, label_suffix='')
    variables = RequestContext(request, {
        'onesheet':onesheet,
        'form': form,
    })
    return render_to_response('edit_artist_info.html', variables)

但它不是在储蓄。它只是用用户更改的内容重新加载页面,但如果你实际刷新页面(从数据库中获取值),那就是旧的值。

有什么想法吗?如果是因为表单实际上没有验证,我不知道为什么它没有验证。

1 个答案:

答案 0 :(得分:1)

尝试

if request.method == 'POST':
    form = ArtistInfo(request.POST, instance=onesheet)
    if form.is_valid():
        form.save()
        return HttpResponseRedirect('/')

您错过了代码中的 return 语句,并且不需要额外的save()