Итак, я в настоящее время нахожусь в проекте, где я хочу, чтобы руководители групп обновляли свои группы и добавляли / удаляли участников, но это не работает, и я не знаю, почему я попытался сделать это способом добавления / удаления, как вы можете видеть в кодеunder.
Как это можно исправить?
Модели
class TeamMembership(models.Model):
user = models.ForeignKey(User)
team = models.ForeignKey(Team)
ingroup = models.BooleanField(default=False)
leader = models.BooleanField(default=False)
groupleader = models.BooleanField(default=False)
class TeamGroup(models.Model):
name = models.CharField(max_length=50)
team = models.ForeignKey(Team)
ingroup = models.ManyToManyField(TeamMembership, blank=True)
В настоящее время этот код является
@login_required
def teamsettings_members_updategroup(request, team_pk, group_pk):
requested_team = get_object_or_404(Team, pk=team_pk)
for member in requested_team.teammembership_set.all().order_by('-leader'):
if member.user.pk == request.user.pk and member.leader:
group = TeamGroup.objects.get(pk=group_pk)
if request.method == 'POST':
name = request.POST['name']
users = request.POST.getlist('users[]')
group.name = name
for user in users:
for ingroup in group.ingroup.all():
if ingroup.pk != user:
group.ingroup.remove(user)
TeamMembership.objects.filter(pk=user).update(ingroup=False)
group.ingroup.add(user)
TeamMembership.objects.filter(pk=user).update(ingroup=True)
group.save()
return redirect('teamsettings_members', team_pk)
feedback = FeedbackSupportForm()
context = {
'feedback' : feedback,
'group' : group,
'requested_team': requested_team,
}
return render(request, 'team/update_group.html', context)
return redirect('team', team_pk)