Schema tests and .extra queryset method
|Reported by:||Maximiliano Robaina||Owned by:||nobody|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Description (last modified by )
Running schema tests I caught an issue, more precisely, in
At the end, this test method is doing:
self.assertEqual(Author.objects.extra(where=["thing = 1"]).count(), 2)
The problem here is what in this where clause, the "thing" field must be quoted.
In firebird :
SELECT * FROM AUTHOR WHERE thing = 1 -- Here thing (in lowercase) and THING (in uppercase) are equivalent, are the same object
is different of:
SELECT * FROM AUTHOR WHERE "thing" = 1 -- field is quoted
For a more generic test I think we need to avoid use .extra method or another raw sql statement.
For a more complete discussion about it, see at