Schema tests and .extra queryset method
|Reported by:||maxi||Owned by:||nobody|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Description (last modified by shai)
Running schema tests I caught an issue, more precisely, in test_add_field_default_transform.
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
Change History (2)
comment:1 Changed 2 years ago by shai
- Description modified (diff)
- Needs documentation unset
- Needs tests unset
- Patch needs improvement unset
- Triage Stage changed from Unreviewed to Accepted
- Type changed from Uncategorized to Cleanup/optimization
- Version changed from 1.6 to 1.7-beta-2