С django>=1.8
вы можете использовать annotate
и F
объект для псевдонима поля. Для агрегирования вы можете использовать функции агрегации ORM
from django.db.models import F, Max
EntityA.objects.annotate(
entity_a__id=F('id'),
entity_a__created_at=F('created_at'),
entity__b_id=F('entity_b_id'),
entity_b__datadump=F('entity_b__datadump'),
max__entity_b__last_update=Max('entity_b__last_update')
).filter(
created_at__lt='2020-03-10',
).values(
'entity_a__id',
'entity_a__created_at',
'entity__b_id',
'entity_b__datadump',
'max__entity_b__last_update'
)