我有一张表格如下:
class Availability(models.Model):
arena = models.ForeignKey(Arena, null=True)
start_date = models.DateTimeField()
end_date = models.DateTimeField()
token = UUIDField(auto=True, unique=True, null=True)
validity = models.DateTimeField(null=True)
现在我在django视图中使用它如下:
def post(self, request):
data = request.DATA
arena = data['arena']
start_time = datetime.datetime.strptime(data['start_time'], '%d/%m/%Y %H:%M')
end_time = datetime.datetime.strptime(data['end_time'], '%d/%m/%Y %H:%M')
try:
slots = Availability.objects.filter(Q(arena__id=arena), Q(start_date__gte=start_time), Q(end_date__lte=end_time)) #Checking if there's any availability between a certain period of time at a certain arena
serialized = ScheduleSerializer(slots, many=True)
return Response({
'success': False,
'response': serialized.data #empty array
})
except Availability.DoesNotExist:
... #Some Code
我的可用性表中没有对象,但上面的查询被执行并返回一个空数组作为响应。我的查询是否正确?如果没有,我该如何解决这个问题?
答案 0 :(得分:0)
这似乎按预期工作。您正在进行查询,并且找不到与查询匹配的对象(因为没有对象)。尝试这样的事情:
slots = Availability.objects.filter(Q(arena__id=arena), Q(start_date__gte=start_time), Q(end_date__lte=end_time)) #Checking if there's any availability between a certain period of time at a certain arena
if slots:
serialized = ScheduleSerializer(slots, many=True)
return Response({
'success': False,
'response': serialized.data #empty array
})
else:
...