From 5899636e2b3ef07cac175d09d11581d7d89ba430 Mon Sep 17 00:00:00 2001 From: LeandroJatai Date: Mon, 16 Mar 2026 09:14:20 -0300 Subject: [PATCH] =?UTF-8?q?fix:=20altera=20sele=C3=A7=C3=A3o=20para=20sele?= =?UTF-8?q?ct=5Ffor=5Fupdate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/models.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sapl/materia/models.py b/sapl/materia/models.py index 4790f1d9a..bdeb402e3 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -444,8 +444,9 @@ class MateriaLegislativa(models.Model): numeracao = tipo.sequencia_numeracao # Calcula o próximo número baseado no tipo de numeração + materias_select_for_update = MateriaLegislativa.objects.select_for_update() if numeracao == 'A': # Por ano - numero = MateriaLegislativa.objects.filter( + numero = materias_select_for_update.filter( ano=ano, tipo=tipo).aggregate(Max('numero')) elif numeracao == 'L': # Por legislatura legislatura = Legislatura.objects.filter( @@ -454,14 +455,14 @@ class MateriaLegislativa(models.Model): if legislatura: data_inicio = legislatura.data_inicio data_fim = legislatura.data_fim - numero = MateriaLegislativa.objects.filter( + numero = materias_select_for_update.filter( data_apresentacao__gte=data_inicio, data_apresentacao__lte=data_fim, tipo=tipo).aggregate(Max('numero')) else: numero = {'numero__max': 0} elif numeracao == 'U': # Único/Universal - numero = MateriaLegislativa.objects.filter( + numero = materias_select_for_update.filter( tipo=tipo).aggregate(Max('numero')) else: numero = {'numero__max': 0} @@ -475,7 +476,7 @@ class MateriaLegislativa(models.Model): numero_candidato_int = None # Verifica se o número candidato está disponível - if numero_candidato_int is not None and not MateriaLegislativa.objects.filter( + if numero_candidato_int is not None and not materias_select_for_update.filter( tipo=tipo, ano=ano, numero=numero_candidato_int).exists():