Select2 не показывает поиск или значения в наборе форм, которые нужно выбрать, например this , но в updateView для отдельных объектов он работает нормально.
form.py
class AvaliadorForm(forms.ModelForm):
"""Defini avaliador"""
class Meta():
model = Resultado
fields = ['avaliador']
#TODO Não esta funcionando
widgets = { # TODO mudar DB para postersql e adiciona unaccent em search fields
'avaliador': s2forms.ModelSelect2Widget(
model=User,
search_fields=['nome_completo__icontains', 'matricula__icontains'],
attrs={'data-minimum-input-length': 0}),
}
def __init__(self, *args, **kwargs):
"""Definie user como o user passado em get_kwargs"""
super(AvaliadorForm, self).__init__(*args, **kwargs)
# filtra os avaliadores com base no is_avaliador
self.fields['avaliador'].queryset = User.objects.filter(
is_avaliador=True)
view.py
class AvaliadorFormSetView(PermissionRequiredMixin, ModelFormSetView):
"Defini avaliadores em bloco, com base no semestre"
model = Resultado
template_name = 'cc/manage_avaliadores.html'
success_url = reverse_lazy('cc:solicitacoes')
factory_kwargs = {'extra': 0}
permission_required = 'user.can_add_avaliador'
form_class = AvaliadorForm
def get_queryset(self):
slug = self.kwargs['slug']
return super(AvaliadorFormSetView, self).get_queryset().filter(solicitacao__semestre_solicitacao__slug=slug)
Я также использую django -extra-views для визуализации набора форм. Поле авалиадор - иностранный ключ