У меня проблема с редактированием реестра с использованием фильтра 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'),
}