I have these three models (I've summarize them):
class Tourist(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
class Etablissement(models.Model):
name = models.CharField(max_length=30)
class Arrival(models.Model):
tourist = models.ForeignKey(Tourist, on_delete=models.CASCADE)
place = models.ForeignKey(Etablissement, on_delete=models.CASCADE)
I want, for a Tourist, to have all his arrivals, per year. I've tried this:
def detailTourist(request, id):
touriste = Tourist.objects.get(id=id)
datas = Arrival.objects.annotate(year=TruncYear('arrival_date')).values('year').annotate(total=Arrival.objects.filter(tourist=touriste)).order_by()
but it give me an error: sub-select returns 19 columns - expected 1 (the arrival model has 19 field so i guest that's why it says 19.
So finnaly, how can I do it please ?