#11329: get_count generates incorrect SQL for query sets with extra 'select' and
'where'
---------------------------------------------------+------------------------
Reporter: bogklug | Owner: nobody
Status: new | Milestone:
Component: Database layer (models, ORM) | Version: 1.0
Resolution: | Keywords: sql, extra
select, extra where, get_count
Stage: Unreviewed | Has_patch: 0
Needs_docs: 0 | Needs_tests: 0
Needs_better_patch: 0 |
---------------------------------------------------+------------------------
Changes (by Alex):
* needs_better_patch: => 0
* needs_tests: => 0
* needs_docs: => 0
Old description:
> Extending an example on extra 'select' from
> http://docs.djangoproject.com/en/1.0/ref/models/querysets/ with an extra
> 'with' and calling get_count:
>
> Blog.objects.extra(
> select={
> 'entry_count': 'SELECT COUNT(*) FROM blog_entry WHERE
> blog_entry.blog_id = blog_blog.id'
> },
> where=['entry_count=0']
> ).query.get_count()
>
> results in OperationalError: no such column: entry_count.
>
> The SQL for the query itself is ok. It seems that the problem is caused
> by get_count.
New description:
Extending an example on extra 'select' from
http://docs.djangoproject.com/en/1.0/ref/models/querysets/ with an extra
'with' and calling get_count:
{{{
Blog.objects.extra(
select={
'entry_count': 'SELECT COUNT(*) FROM blog_entry WHERE
blog_entry.blog_id = blog_blog.id'
},
where=['entry_count=0']
).query.get_count()
}}}
results in OperationalError: no such column: entry_count.
The SQL for the query itself is ok. It seems that the problem is caused by
get_count.
Comment:
Please use the preview option. Also, are you using the internal
get_count() function instead of the public count() API.
--
Ticket URL: <http://code.djangoproject.com/ticket/11329#comment:1>
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
-~----------~----~----~----~------~----~------~--~---