In Django 1.8 I believe this can be achieved with conditional aggregation . However for previous versions I would do it with .extra
ModelA.objects.extra(select={
'account_count': 'SELECT COUNT(*) FROM account WHERE modela.account_id = account.id AND account.some_prop IS NOT NULL'
})