Ich habe diese folgende Modelldefinition in meinem models.py
Umrechnen in Lokalzeit django queryset
from django.db import models
class Blog(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
in meinem settings.py
I
TIME_ZONE = 'UTC'
USE_TZ = True
habe ich mag die Zeiten in bestimmten Zeitzone erhalten. gerade jetzt, wenn ich Blog.objects.all()
anrufen gibt es alle Zeiten in UTC
Format. Aber ich möchte die Zeiten in Usertimezone wer angefordert hat.
Ich weiß, dass es hier Filter und Tags gibt. Aber wie ich es tue rest_framework
Ich denke, ich muss in der Lage sein, in Queryset
zu tun.
Irgendwelche Hilfe?
Edit:
Ich habe die queryset so geschrieben bisher
from django.utils import timezone
from django.db import models
Blog.objects.annotate(
local_create_time = timezone.template_localtime(models.Expressionwrapper(models.F('created'), output_field=models.DateTimeField(), pytz.timezone('Europe/Madrid'))
)
Es ist nicht die Daten zu Europe/Madrid
timzone konvertieren. aber Ausgabe von Daten in die UTC
timzone.
Also überprüfte ich die timzone.template_localtime(value, use_tz=None)
Definition.
Für mich use_tz ist vorbei ein tzinfo
Objekt aber value
ist ExpressionWrapper(F(created))
auch ich möchte, dass meine UTC-Format zu lokalen timeformat umwandeln für alle Modellinstanzen in einem Abfrage-Set. –