def risultati(self): qs_sedi = self.args[0] cd = self.modulo_riempito.cleaned_data metodo = cd['metodo'] titoli = cd['titoli'] base = Persona.objects.filter( Appartenenza.query_attuale( sede__in=qs_sedi, membro__in=Appartenenza.MEMBRO_SOCIO, ).via("appartenenze") ).prefetch_related( 'appartenenze', 'appartenenze__sede', 'utenza', 'numeri_telefono' ) if metodo == self.modulo_riempito.METODO_OR: # Almeno un titolo return base.filter(titoli_personali__in=TitoloPersonale.con_esito_ok().filter( titolo__in=titoli, )).distinct('cognome', 'nome', 'codice_fiscale') else: # Tutti i titoli base = base.filter(titoli_personali__in=TitoloPersonale.con_esito_ok()) for titolo in titoli: base = base.filter(titoli_personali__titolo=titolo) return base.distinct('cognome', 'nome', 'codice_fiscale')
def risultati(self): cd = self.modulo_riempito.cleaned_data self.kwargs['cleaned_data'] = cd # Mostra persone con titoli scaduti/non scaduti results = super().risultati() return results.filter(titoli_personali__in=TitoloPersonale.con_esito_ok())