Opened 3 years ago
Closed 3 years ago
#33242 closed New feature (wontfix)
Support annotating related fields with QuerySet.annotate().
Description ¶
I think it would be sensible to allow this -
m = Message.objects.annotate(room__something=Value('DOH', output_field=CharField())).select_related('room') m.room.something == 'DOH' # is true
Perhaps the annotate API should accept a kwarg -
m = Message.objects.annotate(room__something=Value('DOH', output_field=CharField()), annotate_related=True).select_related('room') m.room.something == 'DOH' # is true
https://stackoverflow.com/questions/69771898/is-there-a-way-to-annotate-a-related-field-in-django
Change History (1)
comment:1 by , 3 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
Summary: | Annotate a related field → Support annotating related fields with QuerySet.annotate(). |
Note:
See TracTickets
for help on using tickets.
Thanks for the proposition.
QuerySet.annotate()
annotates each object in theQuerySet
with the expression, so you can use.annotate(room_something=...)
and refer it in the main object. IMO adding support for annotating related-objects would make the API unnecessarily complicated without any clear benefits.You can raise the idea on the DevelopersMailingList to reach a wider audience and see what other think.