本文整理汇总了Python中anagrafica.models.Appartenenza.con_esito_ok方法的典型用法代码示例。如果您正苦于以下问题:Python Appartenenza.con_esito_ok方法的具体用法?Python Appartenenza.con_esito_ok怎么用?Python Appartenenza.con_esito_ok使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类anagrafica.models.Appartenenza
的用法示例。
在下文中一共展示了Appartenenza.con_esito_ok方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: espandi_elenchi_soci
# 需要导入模块: from anagrafica.models import Appartenenza [as 别名]
# 或者: from anagrafica.models.Appartenenza import con_esito_ok [as 别名]
def espandi_elenchi_soci(qs_sedi, al_giorno=None):
from anagrafica.models import Persona, Appartenenza, Sede, Riserva
from ufficio_soci.models import Quota, Tesserino
return [
(LETTURA, Persona.objects.filter(Appartenenza.query_attuale(al_giorno=al_giorno, sede__in=qs_sedi).via("appartenenze"))),
(LETTURA, Persona.objects.filter(Appartenenza.query_attuale(al_giorno=al_giorno, sede__in=qs_sedi, membro__in=Appartenenza.MEMBRO_DIRETTO).via("appartenenze"))),
(LETTURA, Persona.objects.filter(Appartenenza.query_attuale(al_giorno=al_giorno, sede__in=qs_sedi, membro__in=Appartenenza.MEMBRO_ESTESO).via("appartenenze"))),
(LETTURA, Quota.objects.filter(Appartenenza.query_attuale(al_giorno=al_giorno, sede__in=qs_sedi, membro__in=Appartenenza.MEMBRO_ESTESO).via("persona__appartenenze"))),
(LETTURA, Quota.objects.filter(Q(Q(sede__in=qs_sedi) | Q(appartenenza__sede__in=qs_sedi)))),
(LETTURA, Persona.objects.filter(Appartenenza.con_esito_ok(sede__in=qs_sedi).via("appartenenze"))),
(LETTURA, Persona.objects.filter(Appartenenza.con_esito_pending(sede__in=qs_sedi).via("appartenenze"))),
(LETTURA, Persona.objects.filter(Appartenenza.con_esito_no(sede__in=qs_sedi).via("appartenenze"))),
(LETTURA, Riserva.objects.filter(Appartenenza.con_esito_ok(sede__in=qs_sedi).via("persona__appartenenze"))),
(LETTURA, Tesserino.objects.filter(Appartenenza.con_esito_ok(sede__in=qs_sedi).via("persona__appartenenze"))),
]
示例2: risultati
# 需要导入模块: from anagrafica.models import Appartenenza [as 别名]
# 或者: from anagrafica.models.Appartenenza import con_esito_ok [as 别名]
def risultati(self):
qs_sedi = self.args[0]
oggi = self.modulo_riempito.cleaned_data['al_giorno']
nascita_minima = date(oggi.year - 18, oggi.month, oggi.day)
if self.modulo_riempito.cleaned_data['elettorato'] == ModuloElencoElettorato.ELETTORATO_ATTIVO:
anzianita_minima = datetime(
oggi.year - Appartenenza.MEMBRO_ANZIANITA_ELETTORATO_ATTIVO, oggi.month, oggi.day, 23, 59, 59
)
else:
anzianita_minima = datetime(
oggi.year - Appartenenza.MEMBRO_ANZIANITA_ANNI, oggi.month, oggi.day, 23, 59, 59
)
aggiuntivi = {
# Anzianita' minima
"pk__in": Persona.objects.filter(
Appartenenza.con_esito_ok(
membro__in=Appartenenza.MEMBRO_ANZIANITA,
inizio__lte=anzianita_minima
).via("appartenenze")
).only("id")
}
if self.modulo_riempito.cleaned_data['elettorato'] == ModuloElencoElettorato.ELETTORATO_PASSIVO:
# Elettorato passivo,
aggiuntivi.update({
# Eta' minima
"data_nascita__lte": nascita_minima,
})
r = Persona.objects.filter(
Appartenenza.query_attuale(
al_giorno=oggi,
sede__in=qs_sedi, membro=Appartenenza.VOLONTARIO,
).via("appartenenze"),
Q(**aggiuntivi),
).exclude( # Escludi quelli con dimissione negli anni di anzianita'
appartenenze__terminazione__in=[Appartenenza.DIMISSIONE, Appartenenza.ESPULSIONE],
appartenenze__fine__gte=anzianita_minima,
).exclude( # Escludi quelli con provvedimento di sospensione non terminato
pk__in=ProvvedimentoDisciplinare.objects.filter(
Q(fine__gte=oggi) | Q(fine__isnull=True), inizio__lte=oggi, tipo=ProvvedimentoDisciplinare.SOSPENSIONE
).values_list('persona_id', flat=True)
).annotate(
appartenenza_tipo=F('appartenenze__membro'),
appartenenza_inizio=F('appartenenze__inizio'),
appartenenza_sede=F('appartenenze__sede'),
).prefetch_related(
'appartenenze', 'appartenenze__sede',
'utenza', 'numeri_telefono'
).distinct('cognome', 'nome', 'codice_fiscale')
return r