Django select2 не loadign значение в дополнительных представлениях formset - PullRequest
0 голосов
/ 28 апреля 2020

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 для визуализации набора форм. Поле авалиадор - иностранный ключ

...