Hello goodnight. [Google Translate]
I’m creating a queryset filtering by date, and the “criado_em” which is a DateTimeField is different.
Queryset:
data_inicio = “2022-05-01”
data_fim = “2022-05-03”
queryset = PrecoEnviado.objects.filter(
criado_em__date__gte=data_inicio,
criado_em__date__lte=data_fim,
).select_related(“posto”, “usuario”, “usuario__perfilusuario”, “posto__informacaoposto”, “posto__informacaoposto__municipio”, “posto__informacaoposto__municipio__estado”, “posto__informacaoposto__distribuidor”).only(“id”, “atualizado_em”, “criado_em”, “usuario_id”, “posto_id”, “status”, “usuario__id”, “usuario__first_name”, “usuario__last_name”, “usuario__is_motoboy”, “usuario__phone_number”, “posto__id”, “posto__razao_social”)
Query:
SELECT “postos_precoenviado”.“id”, “postos_precoenviado”.“criado_em”, “postos_precoenviado”.“atualizado_em”, “postos_precoenviado”.“posto_id”, “postos_precoenviado”.“usuario_id”, “postos_precoenviado”.“status”, “postos_posto”.“id”, “postos_posto”.“razao_social”, “postos_informacaoposto”.“id”, “postos_informacaoposto”.“criado_em”, “postos_informacaoposto”.“atualizado_em”, “postos_informacaoposto”.“deletado”, “postos_informacaoposto”.“posto_id”, “postos_informacaoposto”.“nr_autoriz”, “postos_informacaoposto”.“cod_simp”, “postos_informacaoposto”.“distribuidor_id”, “postos_informacaoposto”.“dtvinc_distribuidor”, “postos_informacaoposto”.“dtpubli_dou_autoriz”, “postos_informacaoposto”.“endereco”, “postos_informacaoposto”.“endereco_formatado”, “postos_informacaoposto”.“complemento”, “postos_informacaoposto”.“bairro”, “postos_informacaoposto”.“cep”, “postos_informacaoposto”.“municipio_id”, “postos_distribuidor”.“id”, “postos_distribuidor”.“criado_em”, “postos_distribuidor”.“atualizado_em”, “postos_distribuidor”.“deletado”, “postos_distribuidor”.“nome”, “postos_distribuidor”.“logo”, “postos_distribuidor”.“internal_id”, “core_municipio”.“id”, “core_municipio”.“nome”, “core_municipio”.“nome_sem_acentos”, “core_municipio”.“estado_id”, “core_municipio”.“cod”, “core_estado”.“id”, “core_estado”.“nome”, “core_estado”.“nome_sem_acentos”, “core_estado”.“uf”, “core_estado”.“cod”, “usuarios_user”.“id”, “usuarios_user”.“first_name”, “usuarios_user”.“last_name”, “usuarios_user”.“phone_number”, “usuarios_user”.“is_motoboy”, “usuarios_perfilusuario”.“id”, “usuarios_perfilusuario”.“criado_em”, “usuarios_perfilusuario”.“atualizado_em”, “usuarios_perfilusuario”.“deletado”, “usuarios_perfilusuario”.“usuario_id”, “usuarios_perfilusuario”.“cpf”, “usuarios_perfilusuario”.“birthdate”, “usuarios_perfilusuario”.“chave_pix”, “usuarios_perfilusuario”.“codigo_membro_usuario” FROM “postos_precoenviado” INNER JOIN “postos_posto” ON (“postos_precoenviado”.“posto_id” = “postos_posto”.“id”) LEFT OUTER JOIN “postos_informacaoposto” ON (“postos_posto”.“id” = “postos_informacaoposto”.“posto_id”) LEFT OUTER JOIN “postos_distribuidor” ON (“postos_informacaoposto”.“distribuidor_id” = “postos_distribuidor”.“id”) LEFT OUTER JOIN “core_municipio” ON (“postos_informacaoposto”.“municipio_id” = “core_municipio”.“id”) LEFT OUTER JOIN “core_estado” ON (“core_municipio”.“estado_id” = “core_estado”.“id”) LEFT OUTER JOIN “usuarios_user” ON (“postos_precoenviado”.“usuario_id” = “usuarios_user”.“id”) LEFT OUTER JOIN “usuarios_perfilusuario” ON (“usuarios_user”.“id” = “usuarios_perfilusuario”.“usuario_id”) WHERE ((“postos_precoenviado”.“criado_em” AT TIME ZONE ‘America/Sao_Paulo’)::date >= 2022-05-01 AND (“postos_precoenviado”.“criado_em” AT TIME ZONE ‘America/Sao_Paulo’)::date <= 2022-05-03) ORDER BY “postos_precoenviado”.“id” DESC
data on the basis:
ID|criado_em
436767|2022-05-05 07:55:57.682 -0300
When I analyze the collected data:
ID|Criado_em
436767|2022-05-05 10:55:57.682633+00:00
Realize that the time is different, 3 hours ahead.
How can I solve this hours issue without disabling the settings.py timezone?
Is it possible in the query or in the filter not to use the timezone?