2012-07-15 25 views
0

我想添加一個manytomany對象,但我有一個問題,因爲用戶不是在request.user和我不能讓一個get因爲信息來自形式..一個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 2012-07-15 02:16:10

+0

它已經添加了一個編輯:) – nlassaux 2012-07-15 14:50:01

回答

0

這沒關係,我已經做到了:

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