﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
25871	Allow expressions in values() queryset method	Josh Smeaton	Ian Foote	"It should be possible to insert expressions directly into a `values()` method, rather than first annotating and then selecting in values().

{{{
# Proposed
Model.objects.values(complex=SomeExpression()).aggregate(Sum('field'))

# Current
Model.objects.annotate(complex=SomeExpression()).values('complex').aggregate(Sum('field'))
}}}

The major hurdle here is allowing `**kwargs` into `values()` to support the alias. That's an addition to the API so should be backwards compatible, but it'll also probably rule out using various state based kwargs like `flat=True` and their ilk in the future. We could do some juggling to ensure we're only processing expression kwargs as expressions by checking if they have the attribute `resolve_expression`."	New feature	closed	Database layer (models, ORM)	dev	Normal	fixed	expressions	josh.smeaton@…	Accepted	1	0	0	0	0	0
