保存した後、MultipleChoiceFieldを初期データとして多対多の関係を持つフィールドにロードしたいと思います。
私のクラス
class Course(models.Model):
name = models.CharField(max_length=30)
description = models.TextField(max_length=30)
owner = models.ForeignKey(User)
class UserProfile(models.Model):
user = models.OneToOneField(User, unique=True)
status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='student')
courses_list = models.ManyToManyField(Course, blank=True)
私のフォーム
class AddSubscibeForm(forms.ModelForm):
userprofile_set = forms.ModelMultipleChoiceField(initial = User.objects)
class Meta:
model = Course
私の見解
def addstudents(request, Course_id):
editedcourse = Course.objects.get(id=Course_id) # (The ID is in URL)
form = AddSubscibeForm(instance=editedcourse)
return render(request, 'addstudents.html', locals())
実際、私はユーザーを含む複数選択リストを持っていますが、「courses_list」フィールドにコースを持っているユーザーのリストがありません。
:でユーザーのcours_listにアクセスできます。
> editedcourse = Course.objects.get(id=Course_id)
> subscribed = editedcourse.userprofile_set.all()
> subscribed.user.username
あなたがアイデアを持っているなら..:)