@@ -599,16 +599,19 @@ def post(self, request, *args, **kwargs):
599
599
if form .is_valid ():
600
600
# Pegar os presentes salvos no banco
601
601
presentes_banco = SessaoPlenariaPresenca .objects .filter (
602
- sessao_plenaria_id = self .object .id )
602
+ sessao_plenaria_id = self .object .id ).values_list (
603
+ 'parlamentar_id' , flat = True ).distinct ()
603
604
604
605
# Id dos parlamentares presentes
605
- marcados = request .POST .getlist ('presenca_ativos' ) + request .POST .getlist ('presenca_inativos' )
606
+ marcados = request .POST .getlist ('presenca_ativos' ) \
607
+ + request .POST .getlist ('presenca_inativos' )
608
+ marcados = list (map (lambda x : int (x ), marcados ))
606
609
607
- # Deletar os que foram desmarcadors
608
- deletar = set (set ( presentes_banco ) - set (marcados ) )
609
- for d in deletar :
610
- SessaoPlenariaPresenca . objects . filter (
611
- parlamentar_id = d . parlamentar_id , sessao_plenaria_id = self .object .id ).delete ()
610
+ # Deletar os que foram desmarcados
611
+ deletar = set (presentes_banco ) - set (marcados )
612
+ SessaoPlenariaPresenca . objects . filter (
613
+ parlamentar_id__in = deletar ,
614
+ sessao_plenaria_id = self .object .id ).delete ()
612
615
613
616
for p in marcados :
614
617
sessao = SessaoPlenariaPresenca ()
@@ -707,16 +710,19 @@ def post(self, request, *args, **kwargs):
707
710
if form .is_valid ():
708
711
# Pegar os presentes salvos no banco
709
712
presentes_banco = PresencaOrdemDia .objects .filter (
710
- sessao_plenaria_id = pk )
713
+ sessao_plenaria_id = self .object .id ).values_list (
714
+ 'parlamentar_id' , flat = True ).distinct ()
711
715
712
716
# Id dos parlamentares presentes
713
- marcados = request .POST .getlist ('presenca_ativos' ) + request .POST .getlist ('presenca_inativos' )
714
-
715
- # Deletar os que foram desmarcadors
716
- deletar = set (set (presentes_banco ) - set (marcados ))
717
- for d in deletar :
718
- PresencaOrdemDia .objects .filter (
719
- parlamentar_id = d .parlamentar_id , sessao_plenaria_id = self .object .id ).delete ()
717
+ marcados = request .POST .getlist ('presenca_ativos' ) \
718
+ + request .POST .getlist ('presenca_inativos' )
719
+ marcados = list (map (lambda x : int (x ), marcados ))
720
+
721
+ # Deletar os que foram desmarcados
722
+ deletar = set (presentes_banco ) - set (marcados )
723
+ PresencaOrdemDia .objects .filter (
724
+ parlamentar_id__in = deletar ,
725
+ sessao_plenaria_id = self .object .id ).delete ()
720
726
721
727
for p in marcados :
722
728
ordem = PresencaOrdemDia ()
0 commit comments