Django 使用模型检查插槽中是否有时间

Django check if time is available in slot using models

我有以下型号:

class Order(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    time = models.DateTimeField()

我如何检查我指定的时间是否在用户 1 的任何订单时间的 1 小时内。示例:我指定一个时间并将其 post 发送到端点,端点检查如果提供者时间在用户 1 的任何其他订单的一个小时内。我如何检查时间是否在任何订单模型的 1 小时内?

您可以使用范围,因此您将在 2 个日期时间之间得到 Order

import datetime
from django.utils import timezone
specific_time = timezone.now()
# i am not sure if you want in range `timedelta` - 1 h and `timedelta` + 1 h 
# but it's easy to modify
order_range = (specific_time - datetime.timedelta(hour=1), specific_time)
orders_in_range = Order.objects.filter(time__range=order_range)