title: how to add days to django annotate date field from already built annotation
body: <p>my model looks like this</p>
  <pre><code>class Model(models.Model):
      user_id = models.ForeignKey()
      date = models.DateField()
      field1 = models.FloatField()
      field2 = models.FloatField()
  </code></pre>
  <p>I have a below queryset</p>
  <pre><code>queryset = Model.objects.filter(user_id__exact=5) \
                         .annotate(weekstartdate=Trunc('date', 'week')) \
                         .values('weekstartdate') \
                         .annotate(avg_field1=Avg('field1')) \
                         .annotate(avg_field2=Avg('field2')) \
                         .order_by('-weekstartdate')
  </code></pre>
  <p>which is working perfectly. now I want to add  weekenddate field to above queryset which has a date = weekstartdate + 6 days. I have added below line to above query</p>
  <pre><code>.annotate(weekenddate=Trunc('date', 'week') + timedelta(days=7), output_field=DateField())
  </code></pre>
  <p>but it is complaining :-</p>
  <blockquote>
  <p>TypeError: QuerySet.annotate() received non-expression(s):
  &lt;django.db.models.fields.DateField&gt;</p>
  </blockquote>
  <p>Relative imports</p>
  <pre><code>from django.db.models import Avg, Q
  from django.db.models.functions import Trunc
  from django.db.models import DateTimeField, ExpressionWrapper, F, DateField
  </code></pre>
  <p>Note :-
  Simple for loop after queryset is not i am looking for because after assigning manually a field, queryset filter is still fetching query from old queryset due to laziness of the queryset.
  If answer can be in relativedelta of dateutil library it would be much better.</p>