2012-07-15 2 views
0

manytomany 개체를 추가하려고하는데 사용자가 request.user가 아니기 때문에 문제가 생겼습니다. 정보를 얻을 수 없기 때문에 얻을 수 없습니다. (뷰) 형태 ..manytomany는 양식 때문에 어려움이 있습니다.

내 코드 : 양식은 "사용자 프로필"을 가지고 있지 않기 때문에

editedcourse = Course.objects.get(id=Course_id) 
# Use the model ChangeCourseOwnerForm. 
form = ChangeCourseOwnerForm(instance=editedcourse) 
# Test if its a POST request. 
if request.method == 'POST': 
    # Assign to form all fields of the POST request. 
    form = ChangeCourseOwnerForm(request.POST, instance=editedcourse) 
    if form.is_valid(): 
     # Save the course. 
     obj = form.save() 
     newusername = form['owner'] # Return an User 
     newusername.userprofile.courses_list.add(editecourse) 

문제는 다른 모든 코드가 이해입니다 ... 마지막 두 행에 그러나 그것은 효과적이다.

형태의 모델 :

class ChangeCourseOwnerForm(forms.ModelForm): 
    class Meta: 
     model = Course 
     fields = ('owner',) 

교육 과정의 모델 (나는 영어 아니다, 그것은 세계 코스가 단수에서 확인입니까?)에 대한

class Course(models.Model): 
name = models.CharField(max_length=30) 
description = models.TextField(max_length=30) 
owner = models.ForeignKey(User, limit_choices_to={'is_staff': True}) 
years = models.CharField(max_length=11, choices=YEARS_CHOICES, 
         default='%d - %d' % (date.year, date.year + 1)) 

# In Admin panel : object = username 
def __unicode__(self): 
    return self.name 

감사합니다 당신을 당신의 도움, 그 이상의 작업 시간이 날 바보 만들기 : D

+0

코스 모델 코드를 보여줄 수 있습니까? – mVChr

+0

편집이 추가되었습니다. :) – nlassaux

답변

0

괜찮아, 난 그 짓을 :

 newowner = form['owner'].value() 
     new = User.objects.get(id=newowner) 
     addcourse = new.userprofile.courses_list.add(obj) 
관련 문제