﻿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
28149	QuerySet model fields comparison	Vladislav Lutkov	nobody	"{{{
AModel.objects.only('id').filter(b_model__b_field=F('a_field'))
}}}
generates
{{{
SELECT `a_table`.`id` FROM `a_table` INNER JOIN `b_table` ON (`a_table`.`id` = `b_table`.`a_table_id`) WHERE `b_table`.`b_field` = (`a_table`.`a_field`)
}}}
and it's OK, but if you need to make '<>' or '!=' operation between fields you try
{{{
AModel.objects.only('id').exclude(b_model__b_field=F('a_field'))
}}}
and it generates
{{{
SELECT `a_table`.`id` FROM `a_table` WHERE NOT (`a_table`.`id` IN (SELECT U1.`a_table_id` AS Col1 FROM `a_table` U0 INNER JOIN `b_table` U1 ON (U0.`id` = U1.`a_table_id`) WHERE U1.`b_field` = (U0.`a_field`)))
}}}
and if you try
{{{
.filter(~Q('...'))
}}}
you'll get the same sql query

Need to make a 'ne' lookup (or something else), which will generate '<>' or '!=' sql operators"	New feature	closed	Database layer (models, ORM)		Normal	duplicate			Unreviewed	0	0	0	0	0	0
