The problem with conditional aggregates is that you have to use conditions (Q objects), along with a positive and negative expression, otherwise you open yourself up to SQL Injection vectors. I implemented a POC with the above, but you run into issues with ~Q() and M2M fields. I think that'll be fine for an example, though it should be an included expression that we provide.