﻿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
22050	defer('related__subfield') and select_related() on proxy model raises error	lovasb	nobody	"Given model (in the defer test directory):

{{{
class Secondary(models.Model):
    first = models.CharField(max_length=50)
    second = models.CharField(max_length=50)


@python_2_unicode_compatible
class Primary(models.Model):
    name = models.CharField(max_length=50)
    value = models.CharField(max_length=50)
    related = models.ForeignKey(Secondary)

    def __str__(self):
        return self.name
        
class PrimaryProxy(Primary):
    class Meta:
        proxy = True
}}}

Select only() on related models: {{{ PrimaryProxy.objects.all().select_related().only('related__first') }}}
Raises KeyError:
{{{
E
======================================================================
ERROR: test_defer_proxy_related_field (defer.tests.DeferTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File ""/home/lovasb/WORK/Personal/django/tests/defer/tests.py"", line 176, in test_defer_proxy_related_field
    self.assertEqual(len(children), 1)
  File ""/home/lovasb/WORK/Personal/django/django/db/models/query.py"", line 122, in __len__
    self._fetch_all()
  File ""/home/lovasb/WORK/Personal/django/django/db/models/query.py"", line 963, in _fetch_all
    self._result_cache = list(self.iterator())
  File ""/home/lovasb/WORK/Personal/django/django/db/models/query.py"", line 222, in iterator
    only_load = self.query.get_loaded_field_names()
  File ""/home/lovasb/WORK/Personal/django/django/db/models/sql/query.py"", line 1819, in get_loaded_field_names
    self.deferred_to_data(collection, self.get_loaded_field_names_cb)
  File ""/home/lovasb/WORK/Personal/django/django/db/models/sql/query.py"", line 602, in deferred_to_data
    must_include[old_model].add(source)
KeyError: <class 'defer.models.PrimaryProxy'>
}}}"	Bug	closed	Database layer (models, ORM)	1.6	Normal	fixed	defer,proxy,query		Accepted	1	0	0	0	0	0
