Проблема редактирования реестра с использованием модели формы и фильтра запросов - PullRequest
0 голосов
/ 26 сентября 2019

У меня проблема с редактированием реестра с использованием фильтра select в форме модели.Для регистрации это работает отлично, но когда я пытаюсь редактировать это генерирует ошибку.Кто-нибудь может мне помочь?

Я считаю, что проблема в том, как я выразил эту строку:


form = PostoCapacitacaoForm(request.POST or None, 
session_om=request.session.get('id_organizacao'), 
instance=postocapacitacao, )


# views.py

def EditarPostoCapacitacaoView(request, pk, template_name='config_geral_posto_capacitacao/update.html'):
    postocapacitacao = PostoCapacitacao.objects.get(pk=pk)

    form = PostoCapacitacaoForm(request.POST or None, session_om=request.session.get('id_organizacao'), instance=postocapacitacao, )

    if form.is_valid():
        temp = form.save(commit=False)
        temp.author = request.user  # add the logged in user, as the
        temp.save()
        return redirect('listar_postocapacitacao_url')
    return render(request, template_name, {'form': form})





# form.py
class PostoCapacitacaoForm(ModelForm):
    def __init__(self, *args, **kwargs):
        session_om = kwargs.pop('session_om')

        super(PostoCapacitacaoCadastrarForm, self).__init__(*args, **kwargs)
        self.fields['cd_posto_diponivel'].queryset = self.fields['cd_posto_diponivel'].queryset = PostoDisponivel.objects.filter(
            cd_organograma__cd_organizacao=session_om)

    class Meta:
        model = PostoCapacitacao
        fields = ['cd_posto_diponivel', 'cd_capacitacao', 'cd_classificacao']
        # exclude = ('cd_organizacao',)
        widgets = {
            'cd_posto_diponivel': Select(attrs={'class': 'form-control', 'required': 'True'}),
            'cd_capacitacao': Select(attrs={'class': 'form-control', 'required': 'True'}),
            'cd_classificacao': Select(attrs={'class': 'form-control', 'required': 'True'}),
        }

        labels = {
            'cd_posto_diponivel': ('Setor'),
            'cd_capacitacao': ('Código da Capacitação'),
            'cd_classificacao': ('Código Classificação'),
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...