musik/game/forms.py

31 lines
936 B
Python

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