小编Sop*_*hie的帖子

Django编辑表单数据:数据重复而不是更新

如何更新现有记录,而不是添加一个新问题.现在我正在尝试编辑编辑表单中的现有产品数据并保存新的更改.但是我没有更新现有的产品数据,而是获得了一个新产品,所以一切都在重复.创建新产品而不是更新现有数据.我该怎么做才能解决这个问题?

这是我的代码:

@login_required
def edit(request, id=None):
if request.method == 'POST':
    form = ProductForm(request.POST)

    if form.is_valid():
        product = form.save( commit=False )
        product.save()

        return HttpResponseRedirect( '/details/%s/' % ( product.id ) ) 
Run Code Online (Sandbox Code Playgroud)

Eternicode,谢谢你的好答案,代码现在工作正常,数据不重复,因为我在编辑日期后保存表单.根据你的回复,这是有效的:

@login_required
def edit(request, id=None):

if request.method == 'POST':
    product = Product.objects.get(id__exact=id)
    form = ProductForm(request.POST, instance=product)

    print "PRODUCT POST"

    if form.is_valid():
        print "Display Form"

        product = form.save( commit=False )
        product.save()

        return HttpResponseRedirect( '/details/%s/' % ( product.id ) ) 
Run Code Online (Sandbox Code Playgroud)

forms django django-views

3
推荐指数
1
解决办法
3246
查看次数

标签 统计

django ×1

django-views ×1

forms ×1