user_id不是唯一的

时间:2010-06-30 21:32:12

标签: django-models

我的观点中有这个东西,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) 但它没有用 如何解决这个问题。

2 个答案:

答案 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