如何通过非字段值过滤Django查询集

时间:2018-05-18 05:38:39

标签: django python-3.x django-models django-queryset

我需要按当地时间查询模型。

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

此人将拥有一个邮政编码字段,我有一个函数来通过他们的邮政编码获取时区。我也愿意编写一个迁移脚本来填充Person模型的时区,但我仍然不知道如何进行查询。

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

1 个答案:

答案 0 :(得分:0)

我能够通过预处理数据来存储人的时区来解决问题。然后使用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)