Проблема с отображением и подгонкой запросов в SelectMultiple, формы django

У меня проблема с отображением потенциальных участников в поле выбора select multiple. Обычная логика такова: пользователь подает заявку на участие, а администратор одобряет его участие через select multiple. Проблема в том, что в этом поле у меня отображаются все заявки для всех событий, без какого-либо фильтра. Я начал пробовать чужие решения, но даже это не работает.

Вот две формы, о которых идет речь

class EventForm(forms.ModelForm):
class Meta:
    model = Event 
    fields = ('name', 'venue', 'event_date', 'participants', 'short_description', 'description') #"__all__"name
    widgets ={
        'name' : forms.TextInput(attrs={'class':'form-control'}), 
        'manager' : forms.Select(attrs={'class':'form-select'}),
        'venue' : forms.Select(attrs={'class':'form-select'}),
        'event_date' : forms.TextInput(attrs={'class':'form-control'}),
        #'participants': forms.SelectMultiple(attrs={'class':'form-control'}),
        'participants' : forms.SelectMultiple(
            to_field_name="participants",
            queryset=Participant.objects.filter(attending__event=event_id, attending__is_attending=True), # error in "event_id"
            widget=forms.CheckboxSelectMultiple),
        'short_description' : forms.Textarea(attrs={'class': 'form-control'}),
        'description' : forms.Textarea(attrs={'class': 'form-control'}),    
    }

class ParticipantForm(forms.ModelForm):
user = forms.ModelChoiceField(queryset=User.objects.all(), widget=forms.HiddenInput())
event = forms.ModelChoiceField(queryset=Event.objects.all(), widget=forms.HiddenInput())
class Meta:
    model = Participant
    fields = ['event', 'user']

и это функции

def is_attending(request, event_id):
"""set user as attending an event."""
event = get_object_or_404(Event, id=event_id)
attendance  = Participant(
    participant = request.user, 
    event = event,
    is_attending = True
    )
attendance.save()
return redirect('show_event')

в этой функции одно из полей, поле select multiply, в котором утверждение должно происходить только для тех людей, чей id события совпадает

def update_event(request, event_id):
event = Event.objects.get(pk=event_id)
participants = Participant.objects.filter(
    event = event_id
)

Participant.objects.filter(attending__event=event_id, attending__is_attending=True)

if request.user.is_superuser:
    form = EventFormAdmin(request.POST or None, instance=event)
else:
    form = EventForm(request.POST or None, instance=event)
if form.is_valid():
        form.save()
        return redirect('all_events')
return render(request, 
    'events/update_event.html', {
    'participants':participants,
    'event': event,
    'form':form
    }) 

прошу помочь, буду очень благодарен за подсказку или возможное решение

Вернуться на верх