我的观点中有这个东西,py
def status_change(request):
if request.method == "POST":
rform = registerForm(data = request.POST)
if rform.is_valid():
register = rform.save(commit=False)
register.user = request.user
register.save()
return render_to_response('home.html')
else:
rform = registerForm()
return render_to_response('status_change.html',{'rform':rform})
当我试图在模型中第二次保存字段时,它说
“列user_id不是唯一的” 实际上我想更新它 我试过rform.save(force_update = True) 但它没有用 如何解决这个问题。
答案 0 :(得分:1)
每次保存表单时,django都会创建新对象。 如果您需要更改(而不是创建新的)某个对象,则首先需要获取对象,然后使用此对象的实例创建表单:
myobject = ...objects.get(....)
mform = MyForm(instance=myobject)
答案 1 :(得分:-3)
问题解决了
def status_change(request):
instance = get_object_or_404(register,pk=request.user.id)
#rest of the code here