﻿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
12132	possibly unneccessary unique_check for primary key fields is models	Mark	nobody	"Every time a clean() method of the model instance is run, validate_unique() is performed. It seems, that _get_unique_checks doesn't get into account, that the primary key doesn't need such a check. The sql that is run during the check is meaningless (it is only meaningless if we are checking a primary key field): 

{{{
SELECT (1) AS ""a"" FROM ""test_models_testmodel"" WHERE (""test_models_testmodel"".""id"" = 1  AND NOT (""test_models_testmodel"".""id"" = 1 ))
}}}


This results in unnecessary database hits and (possible) performance degradation. I have put together a simple test rack, so that the effect can be easily observed. It's not a real test case, but I really hope, that it will be sufficient.

If I understand correctly, it can be easily fixed, by checking if a field is a primary key inside the _get_unique_checks model instance method (patch included)."		closed	Database layer (models, ORM)	soc2009/model-validation		fixed	model-validation validation unique		Unreviewed	1	0	0	0	0	0
