﻿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
7957	Chaining Queryset.extra() methods that contain parameters breaks the query	Matthijs	Matthijs	"To reproduce:

Precondition a user 'root' exists with id=1
{{{
#!python
from django.contrib.auth.models import User
for result in User.objects.extra(select=
        {'foo3': ""SELECT COUNT(auth_user.id) FROM auth_user WHERE (auth_user.username = %s)""}
        , select_params=['root']).extra(select=
        {'foo2': ""SELECT COUNT(auth_user.id) FROM auth_user WHERE (auth_user.id = %s)""}
        , select_params=['1']):
    print result.foo3
# output should be:
# 1
# 1
for result in User.objects.extra(select=
        {'foo1': ""SELECT COUNT(auth_user.id) FROM auth_user WHERE (auth_user.username = %s)""}
        , select_params=['root']).extra(select=
        {'foo2': ""SELECT COUNT(auth_user.id) FROM auth_user WHERE (auth_user.id = %s)""}
        , select_params=['1']):
    print result.foo1
# output should be:
# 1
# 1
}}}"		reopened	Database layer (models, ORM)	dev			queryset extra select select_params		Accepted	1	0	0	0	0	0
