#22683: Schema tests and .extra queryset method
-------------------------------------+-------------------------------------
Reporter: maxi | Owner: nobody
Type: | Status: new
Cleanup/optimization | Version:
Component: Migrations | 1.7-beta-2
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by shai):
* needs_better_patch: => 0
* needs_tests: => 0
* version: 1.6 => 1.7-beta-2
* needs_docs: => 0
* type: Uncategorized => Cleanup/optimization
* stage: Unreviewed => Accepted
Old 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
New description:
Running schema tests I caught an issue, more precisely, in
`test_add_field_default_transform`.
At the end, this test method is doing:
{{{#!python
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 :
{{{#!sql
SELECT * FROM AUTHOR WHERE thing = 1 -- Here thing (in lowercase)
and THING (in uppercase) are equivalent, are the same object
}}}
is different of:
{{{#!sql
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
--
Comment:
Added some formatting to description.
We should be able to get rid of the raw sql there, since the model has the
added column.
--
Ticket URL: <https://code.djangoproject.com/ticket/22683#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/062.939ace25f91930c89ea8a42178cf8593%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.