У меня есть заявление в классе, и у меня есть следующие отношения.Пользователи могут следовать друг за другом и создавать классные комнаты. Когда пользователь создает классную комнату, он может приглашать только тех, кто следует за ним.Модель Classroom представляет собой таблицу m2m для пользователя.
у меня есть в моделях.py:
class Classroom(models.Model):
creator = models.ForeignKey(User)
classname = models.CharField(max_length=140, unique = True)
date = models.DateTimeField(auto_now=True)
open_class = models.BooleanField(default=True)
members = models.ManyToManyField(User,related_name="list of invited members")
и в models.py следующего приложения:
class Relations(models.Model):
initiated_by = models.ForeignKey(User, editable=False)
date_initiated = models.DateTimeField(auto_now=True, editable = False)
follow = models.ForeignKey(User, editable = False, related_name = "follow")
date_follow = models.DateTimeField(auto_now=True, editable = False)
и в views.py учебного приложения:
def save_classroom(request, username):
if request.method == 'POST':
u = User.objects.get(username=username)
form = ClassroomForm(request.POST, request.FILES)
if form.is_valid():
new_obj = form.save(commit=False)
new_obj.creator = request.user
r = Relations.objects.filter(initiated_by = request.user)
# new_obj.members =
new_obj.save()
return HttpResponseRedirect('.')
else:
form = ClassroomForm()
return render_to_response('classroom/classroom_form.html', {
'form': form,
},
context_instance=RequestContext(request))
iЯ использую ModelForm для формы классной комнаты, и представление по умолчанию, принимая во внимание мое отношение «многие ко многим» с таблицей «Пользователь» в поле «Участники», представляет собой список всех пользователей в моей базе данных.Но я хочу, чтобы в этом списке были только те пользователи, которые поддерживают отношения с вошедшим в систему пользователем - тем, кто создает классную комнату.Как я могу это сделать?
ps: также, когда я сохраняю форму, она сохраняет, но без "членов"
Спасибо!