I have these models:
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)
[...]
and in my views.py I want to create a query which selects an event given specific parameters (start date, etc.). I have no issues with my query:
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))
This pulls up more ideantical results if there is more than one dateevent for each event though, which I don't want. This is my attempt of getting distinct values, which fails with a 'QuerySet' object has no attribute 'Q' error. what am I missing?
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')