#14694: defer() doesn't work with reverse relations
------------------------------------------+---------------------------------
Reporter: sayane | Owner: nobody
Status: new | Milestone: 1.3
Component: Database layer (models, ORM) | Version: SVN
Keywords: | Stage: Unreviewed
Has_patch: 0 |
------------------------------------------+---------------------------------
It's impossible to defer REVERSED relation. I'm not able to reproduce
whole queryset, because it's generated automatically.
{{{
Traceback:
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/core/handlers/base.py" in get_response
109. response = callback(request,
*callback_args, **callback_kwargs)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/views/generic/base.py" in view
52. return self.dispatch(request, *args, **kwargs)
File "/home/sayane/Programowanie/qcr2/unit/../qcr/core/ajax/views.py" in
dispatch
55. resp = super(AjaxView, self).dispatch(request, *args,
**kwargs)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/views/generic/base.py" in dispatch
73. return handler(request, *args, **kwargs)
File "/home/sayane/Programowanie/qcr2/unit/../qcr/core/ajax/store.py" in
post
101. total = self.queryset.count()
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/query.py" in count
327. return self.query.get_count(using=self.db)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/query.py" in get_count
391. obj.add_subquery(subquery, using=using)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/subqueries.py" in add_subquery
222. self.subquery, self.sub_params =
query.get_compiler(using).as_sql(with_col_aliases=True)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/compiler.py" in as_sql
58. self.pre_sql_setup()
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/compiler.py" in pre_sql_setup
29. self.fill_related_selections()
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/compiler.py" in fill_related_selections
578. opts=f.rel.to._meta, as_pairs=True)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/compiler.py" in get_default_columns
237. only_load = self.deferred_to_columns()
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/compiler.py" in deferred_to_columns
666. self.query.deferred_to_data(columns,
self.query.deferred_to_columns_cb)
File "/home/sayane/Programowanie/virtenv/dj13/lib/python2.6/site-
packages/django/db/models/sql/query.py" in deferred_to_data
540. cur_model = opts.get_field_by_name(name)[0].rel.to
Exception Type: AttributeError at /a/case/stores/case/
Exception Value: 'RelatedObject' object has no attribute 'rel'
}}}
When trying with simple query, it doesn't return any results:
{{{
In [7]: Case.objects.select_related('info')
Out[7]: [<Case: test/01>]
In [8]: Case.objects.select_related('info').defer('info__requirements')
Out[8]: []
In [9]:
Case.objects.select_related('info').defer('info__requirements').count()
Out[9]: 1
}}}
--
Ticket URL: <http://code.djangoproject.com/ticket/14694>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.