﻿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
13489	Arbitrary Q filter on related model fields	jnothman	nobody	"
Given a model with a foreign key, e.g. the classic Entry / Blog example, we may want to select/aggregate over entries contained in blogs with certain features. We can e.g. perform a filter over the joined relation:

{{{
Entry.objects.filter(blog__tagline__contains=""foobar"")
}}}

As far as I know, we cannot define a Q instance defined to filter Blog (which may be pre-defined for other purposes) to perform the same filter over a join:

The closest we can get (in 1.1) is:

{{{
q = Q(tagline__contains=""foobar"")
Entry.objects.filter(blog_in=q)
}}}

which performs a sub-select query, with the same results, but different efficiency, and different fields available for output.

I propose one of two syntax options:

{{{
Entry.objects.filter(blog_has=q)
}}}

or:

{{{
Entry.objects.filter(q.apply_to_field('blog'))
}}}


"		closed	Uncategorized	1.1		wontfix			Unreviewed	0	0	0	0	0	0
