我想在保存后将具有多对多关系的字段作为初始数据加载到 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”字段中拥有该课程的用户列表。
我可以通过以下方式访问用户的 course_list:
> editedcourse = Course.objects.get(id=Course_id)
> subscribed = editedcourse.userprofile_set.all()
> subscribed.user.username
如果你有一个想法.. :)