基于ModelForm实现编辑

# 跟添加,使用一个ModelForm 如果规则一样的话
def edit(request, pk):
    # pk 自动帮你找到id --url无名分组
    book_obj = models.Book.objects.filter(pk=pk).first()
    if request.method == "GET":
        book_list = User(instance=book_obj)
        return render(request, 'book_edit.html', {'Book_list': Book_list})
    else:
        # 自动替换如果不用ModelForm,编辑的时候得显示之前的数据吧,还得挨个取一遍值,
        # 如果ModelForm,只需要加一个instance=obj(obj是要修改的数据库的一条数据的对象)就可以得到同样的效果。
        # 保存的时候要注意,一定要注意有这个对象(instance=obj),否则不知道更新哪一个数据。
        Book = User(date=request.POST, instance=book_obj)
        if Book.is_valid():
            Book.save()
        return render(request, 'book_edit x.html', {'Book': Book})

 

posted @ 2021-10-17 22:07  mofr  阅读(21)  评论(0)    收藏  举报