2013-03-08 100 views
1

我有这个错误没有属性:Django的模型形式保存, '廉政' 对象具有 '保存'

'int' object has no attribute 'save'

class Profile(models.Model): 
    user = models.ForeignKey(User) 
    name = models.CharField(max_length=255) 
    tel = models.CharField(max_length=255) 

views.py:

def add_profile(request): 
    user = request.user.id 
    form = ProfileForm() 
    if request.method == "POST": 
     form = ProfileForm(request.POST) 
     if form.is_valid(): 
      user.save() 
      form.save() 
      return HttpResponseRedirect('/profile/') 
    return render_to_response('profile.html',{'form':form},context_instance=RequestContext(request)) 
+0

擦除user.save () – catherine 2013-03-08 14:08:34

+0

@凯瑟琳,但我排除'用户'在我的形式。我想从'user = request.user.id'保存用户 – user2148701 2013-03-08 14:13:13

+0

user = request.user.id应该是user = request.user,然后尝试profile = form.save(commit = False)profile.user =用户配置文件。 save() – JamesO 2013-03-08 14:15:26

回答

2
def add_profile(request): 
    save_user = Profile(user=request.user) 
    form = ProfileForm() 
    if request.method == "POST": 
     form = ProfileForm(request.POST, instance=save_user) 
     if form.is_valid(): 
      form.save() 
      return HttpResponseRedirect('/profile/') 
    return render_to_response('profile.html',{'form':form},context_instance=RequestContext(request))