Opened 10 years ago

Last modified 10 years ago

#22683 closed Cleanup/optimization

Schema tests and .extra queryset method — at Initial Version

Reported by: Maximiliano Robaina Owned by: nobody
Component: Migrations Version: 1.7-beta-2
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

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
https://groups.google.com/forum/?hl=es#!topic/django-developers/KRHD77KlZ28

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top