我有模型Shop
,我想获取所有time_open
(开门时间)大于time_close
(关门时间)的商店。例如,23:00:00 大于 07:00:00(Shop_2(夜类店))。
class Shop(models.Model):
time_open = models.TimeField()
time_closed = models.TimeField()
例如我有两个对象:
shop_1 = {
"time_open": "08:00:00",
"time_closed": "22:00:00"
}
shop_2 = {
"time_open": "23:00:00",
"time_closed": "07:00:00"
}
我的目标是输出 shop_2
所在的查询集。
这些对象中的这些时间戳仅用于视觉示例,我想在不将任何数据放入sql查询
中的情况下执行此操作。我想通过比较 time_open
和 time_close
字段来实现此目的。
我在纯SQL
中发现了类似的问题:
Find rows where one field is greater than another one
我的目标是使用 Django ORM
来实现。
最佳答案
你可以看看django的F objects ,它允许您根据字段值过滤对象。
from django.db.models import F
Shop.objects.filter(time_open__gt=F('time_closed'))
关于python - 查找其中一个字段大于另一字段的查询集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74277905/