Как передать список в ModelMultipleChoiceField

Это форма выбора участников

      class EventFormAdmin(ModelForm):

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.ModelMultipleChoiceField(
    
    **queryset=Participant.objects.filter().values(participant_list),** #filter for participants who applied for a specific event
    widget=forms.CheckboxSelectMultiple
),
description = forms.Textarea(attrs={'class':'form-control'}),

class Meta:
    model = Event 
    fields = ('name', 'manager', 'venue', 'event_date', 'participants', 'description')

Как в функции поставить member_list в ModelMultipleChoiceField , я описал фильтр по значениям, которые пытаюсь передать в поле формы

      def update_event(request, event_id):
event = Event.objects.get(pk=event_id)
participant_list = Participant.objects.filter(
    event = event_id
)
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', {
    'participant_list':participant_list,
    'event': event,
    'form':form
    })

Спасибо

1 ответ

используйте этот код прямо перед form.is_valid()условие

      form.fields.get('participant_list').queryset=participant_list
Другие вопросы по тегам