from django import forms from . import models class GroupAddMembersForm(forms.ModelForm): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.fields["members"].queryset = self.fields["members"].queryset.exclude( id=self.instance.owner.id ) class Meta: model = models.Group fields = ["members"] class MusikGameForm(forms.ModelForm): class Meta: model = models.MusikGame fields = ["players", "n"] widgets = { "players": forms.CheckboxSelectMultiple, } def __init__(self, *args, **kwargs): group = models.Group.objects.get(pk=kwargs.pop("group", None)) players = group.members.all() | models.User.objects.filter(id=group.owner.id) kwargs["initial"].setdefault("players", players) super().__init__(*args, **kwargs) self.fields["players"].queryset = players