我有这些模型:
class Event(models.Model):
title = models.CharField(max_length=200)
[...]
class dateEvent(models.Model):
event = models.ForeignKey('Event', on_delete=models.CASCADE)
start_date_time = models.DateTimeField(auto_now=False, auto_now_add=False)
[...]
在我的views.py
中,我想创建一个查询,在给定特定参数(开始日期等)的情况下 Select 一个事件.我对我的问题没有异议:
distinct = Event.objects.values('id').annotate(id_count=Count('id')).filter(id_count=1)
events = Event.objects.filter(Q(dateevent__start_date_time__gte=start_date) & Q(dateevent__start_date_time__lte=end_date))
如果每个event
有超过dateevent
个,这会带来更理想的结果,但我不想要.这是我获取不同值的try ,但失败了,出现了'QuerySet' object has no attribute 'Q'
个错误.我错过了什么?
events = Event.objects.filter(id__in=[item['id'] for item in distinct]).Q(dateevent__start_date_time__lte=end_date).distinct().exclude(type='recording release').order_by('dateevent__start_date_time')