sqlparse examples

Example 1

Warning

BE CAREFULL do not use {sql_query=} but {sql_query}

# https://github.com/andialbrecht/sqlparse
import sqlparse

...

liste_fiches_weekly = FicheTemps.objects.filter(
    Q(created__gte=select_datetime_begin) & Q(created__lte=select_datetime_end),
    employe__login=employe.login,
).order_by("created")
liste_fiches_weekly = liste_fiches_weekly.exclude(projet_id__in=projets_conges_id)

sql_query = sqlparse.format(str(liste_fiches_weekly.query), reindent=True)
logger.info(f"\nSQL query:\n{sql_query}\n")
SELECT "fiche_temps"."id",
       "fiche_temps"."id_employe",
       "fiche_temps"."id_projet",
       "fiche_temps"."temps_impute",
       "fiche_temps"."commentaire",
       "fiche_temps"."etat",
       "fiche_temps"."created",
       "fiche_temps"."modified"
FROM "fiche_temps"
INNER JOIN "employe" ON ("fiche_temps"."id_employe" = "employe"."id")
WHERE ("fiche_temps"."created" >= 2020-05-04 00:00:00+02:00
       AND "fiche_temps"."created" <= 2020-05-11 23:59:59+02:00
       AND "employe"."login" = pvergain
       AND NOT ("fiche_temps"."id_projet" IN (6,
                                              9,
                                              14,
                                              13,
                                              12,
                                              10,
                                              15,
                                              8,
                                              5,
                                              4,
                                              3,
                                              2,
                                              1,
                                              11,
                                              7)))
ORDER BY "fiche_temps"."created" ASC

Example 2

liste_fiches_day = FicheTemps.objects.filter(
    employe__login=employe.login,
    created__year=created_fiche_temps.year,
    created__month=created_fiche_temps.month,
    created__day=created_fiche_temps.day,
).order_by("created")

sql_query = sqlparse.format(str(liste_fiches_day.query), reindent=True)
logger.info(f"\nSQL query:\n{sql_query}\n")
SELECT "fiche_temps"."id",
       "fiche_temps"."id_employe",
       "fiche_temps"."id_projet",
       "fiche_temps"."temps_impute",
       "fiche_temps"."commentaire",
       "fiche_temps"."etat",
       "fiche_temps"."created",
       "fiche_temps"."modified"
FROM "fiche_temps"
INNER JOIN "employe" ON ("fiche_temps"."id_employe" = "employe"."id")
WHERE (EXTRACT('day'
               FROM"fiche_temps"."created" AT TIME ZONE 'Europe/Paris') = 6
       AND EXTRACT('month'
                   FROM"fiche_temps"."created" AT TIME ZONE 'Europe/Paris') = 5
       AND "fiche_temps"."created" BETWEEN 2020-01-01 00:00:00+01:00 AND 2020-12-31 23:59:59.999999+01:00
       AND "employe"."login" = pvergain)
ORDER BY "fiche_temps"."created" ASC