首页 > 解决方案 > Django:如何根据其中一个对象过滤查询?

问题描述

我有一个模型:

class PantryHours(models.Model):
DAYS = {
    ('Sunday', 'Sunday'),
    ('Monday', 'Monday'),
    ('Tuesday', 'Tuesday'),
    ('Wednesday', 'Wednesday'),
    ('Thursday', 'Thursday'),
    ('Friday', 'Friday'),
    ('Saturday', 'Saturday')
}
day_of_week = models.CharField(max_length=20, choices=DAYS, null=True, blank=True)
pantry_start_time = models.TimeField(blank=True,null=True)
pantry_end_time = models.TimeField()
clients_allowed = models.IntegerField()
spots_remaining = models.IntegerField(default=0)

我想根据这个过滤结果: current time < (pantry_start_time - (pantry_end_time - pantry_start_time))

所以它会是这样的:

current_time = datetime.datetime.now()
PantryHours.objects.filter(pantry_start_time=(current_time__gte =(pantry_start_time - (pantry_end_time - pantry_start_time))

但是,我需要每个实例的 pantry_start_time 和 pantry_end_time 并用它做数学运算。为每个实例执行此操作的最佳方法是什么?

标签: djangodjango-filter

解决方案


推荐阅读