Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Fixed #19738 -- remove sqlite timezone adapter for IPython shell #1404

Closed
wants to merge 21 commits into
from

Conversation

Projects
None yet
Member

ptone commented Jul 28, 2013

https://code.djangoproject.com/ticket/19738

Because IPython was using naive timezone datetimes with sqlite
the adapter registered by Python would throw runtime warnings.

@aaugustin what are the implications for any raw sql running from this context - is a more clearly worded warning worth printing at the start of the session? Something like

"Raw SQL use of datetimes for sqlite will not receive Django timezone patching in this shell"

mjtamlyn and others added some commits Jul 24, 2013

Merge pull request #1395 from funkbit/master
Fixed typo in Custom management commands documentation.
Fixed #19941 -- Modified runtests.py to make running the tests easier.
1. Automatically use tests/../django as the Django version.
2. If settings aren't provided through --settings or DJANGO_SETTINGS_MODULE)
   then use test_sqlite.
Fixed #18168 -- clarified precedence of validation
any choices set by formfield_for_choice_field are still subject
to model validation of the model field's choices attribute
Fixed handling of template loader tests.
Previously, the CachedLoaderTests were never run at all.
Fixed #20625 -- Chainable Manager/QuerySet methods.
Additionally this patch solves the orthogonal problem that specialized
`QuerySet` like `ValuesQuerySet` didn't inherit from the current `QuerySet`
type. This wasn't an issue until now because we didn't officially support
custom `QuerySet` but it became necessary with the introduction of this new
feature.

Thanks aaugustin, akaariai, carljm, charettes, mjtamlyn, shaib and timgraham
for the reviews.
Fixed related model lookup regression
It has been possible to use models of wrong type in related field
lookups. For example pigs__in=[a_duck] has worked. Changes to
ForeignObject broke that.

It might be a good idea to restrict the model types usable in lookups.
This should be done intentionally, not accidentally and without any
consideration for deprecation path.

These *args, **kwargs don't look good.

timgraham and others added some commits Jul 26, 2013

Owner

aaugustin commented Sep 7, 2013

I don't think this is the right approach. It best it will corrupt data silently. At worst it will make you SQLite database unusable (ie. you'll have a mix of aware and naive datetimes and Django will crash when you read one or the other, depending on USE_TZ). I'm -1 on introducing data corruption bugs in Django, even if we document them.

@aaugustin aaugustin closed this Sep 7, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment