Как отфильтровать набор запросов Django по значениям, не относящимся к полю - PullRequest
0 голосов
/ 18 мая 2018

Мне нужно запросить модель по местному времени.

send_reminder_query = PersonModel.objects.filter('Is after 7pm thier localtime')

У человека будет поле почтового индекса, а у меня есть функция для получения часового пояса по почтовому индексу.Я также хотел бы написать сценарий миграции для заполнения часового пояса в модели Person, но я все еще не понимаю, как сделать запрос.

send_reminder_query = PersonModel.objects.filter(tzinfo='...', ?)

1 Ответ

0 голосов
/ 21 мая 2018

Мне удалось решить проблему, предварительно обработав данные для хранения часового пояса человека.Затем с помощью pytz я делаю это.

from django.utils import timezone 
import pytz


valid_timezones = []
for tz in list_of_timezones:
    local_time =  now().astimezone(pytz.timezone(tz))
    if 19 < local_time.hour < 20:
        valid_timezones.append(tz)

reminders = Person.objects.filter(timezone__in=valid_timezones)
...