﻿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
23791	"Subqueries with non-""id"" OneToOneField primary keys try to join against the wrong column name"	ris	nobody	"Hi, your favourite ORM obscure-query bug reporter again here...

Using Django 1.7.1 & postgres, example models.py:

{{{
class ModelA ( models.Model ):
	x = models.TextField ()

class ModelB ( models.Model ):
	a = models.OneToOneField ( ModelA , primary_key = True )
}}}

issuing the query

{{{
>>> ModelC.objects.filter ( pk__in = ModelC.objects.filter ( a__x = ""abc"" ) )
}}}

results in

{{{
FieldError: Cannot resolve keyword u'id' into field. Choices are: a, a_id
}}}

A workaround exists:

{{{
>>> ModelC.objects.filter ( pk__in = ModelC.objects.filter ( a__x = ""abc"" ).values ( ""pk"" ) )
}}}

which behaves correctly."	Bug	new	Database layer (models, ORM)	1.7	Normal		orm primary_key OneToOneField subquery values		Unreviewed	0	0	0	0	0	0
