| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
of lists)..
Thanks EmilStenstrom for the suggestion.
|
|
|
|
|
|
|
|
|
| |
This is the result of Christopher Medrela's 2013 Summer of Code project.
Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.
Also: Fixes #8579, fixes #3055, fixes #19844.
|
| |
|
|
|
|
| |
Refs #15903, #15866, #15850.
|
| |
|
| |
|
|
|
|
|
|
| |
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
|
|
|
|
| |
Reverted 4a56a93cc458e9ab4dcab95d9f5067d4975dd1a2.
|
|
|
|
|
|
|
|
|
|
| |
It was called _populate() before I renamed it to populate(). Since it
has been superseded by populate_models() there's no reason to keep it.
Removed the can_postpone argument of load_app() as it was only used by
populate(). It's a private API and there's no replacement. Simplified
load_app() accordingly. Then new version behaves exactly like the old
one even though it's much shorter.
|
|
|
|
|
|
|
|
|
| |
Since applications that aren't installed no longer have an application
configuration, it is now always True in practice.
Provided an abstraction to temporarily add or remove applications as
several tests messed with app_config.installed to achieve this effect.
For now this API is _-prefixed because it looks dangerous.
|
|
|
|
|
|
|
|
| |
Used the information from the app cache instead of creating a duplicate
based on INSTALLED_APPS.
Model._meta.installed is no longer writable. It was a rather sketchy way
to alter private internals anyway.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since the original ones in django.db.models.loading were kept only for
backwards compatibility, there's no need to recreate them. However, many
internals of Django still relied on them.
They were also imported in django.db.models. They never appear in the
documentation, except a quick mention of get_models and get_app in the
1.2 release notes to document an edge case in GIS. I don't think that
makes them a public API.
This commit doesn't change the overall amount of global state but
clarifies that it's tied to the app_cache object instead of hiding it
behind half a dozen functions.
|
|
|
|
| |
This commit doesn't contain any code changes; it's purely a refactoring.
|
| |
|
|
|
|
| |
Thanks to Tim for the review.
|
| |
|
|
|
|
| |
Thanks hjwp for the report.
|
|
|
|
|
| |
Thanks PaulM for the suggestion and Luke Granger-Brown and
Wiktor Kołodziej for the initial patch.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The option can be used to force pre 1.6 style SELECT on save behaviour.
This is needed in case the database returns zero updated rows even if
there is a matching row in the DB. One such case is PostgreSQL update
trigger that returns NULL.
Reviewed by Tim Graham.
Refs #16649
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
django/db/models/options.py
|
| |
| |
| |
| | |
Thanks hvendelbo for the suggestion and koenb for the draft patch.
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
django/core/management/commands/flush.py
django/core/management/commands/syncdb.py
django/db/models/loading.py
docs/internals/deprecation.txt
docs/ref/django-admin.txt
docs/releases/1.7.txt
|
| |
| |
| |
| | |
Thanks Loic Bistuer for the review.
|
| | |
|
| |
| |
| |
| | |
The change also removed allow_explicit_fk from sql/query.py.
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
django/db/backends/__init__.py
django/db/models/fields/related.py
tests/field_deconstruction/tests.py
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Those methods were only used by `contrib.admin` internally and exclusively
related to `contrib.auth`. Since they were undocumented but used
in the wild the raised deprecation warning point to an also undocumented
alternative that lives in `contrib.auth`.
Also did some PEP8 and other cleanups in the affected modules.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Thanks Lennart Regebro for pointing it out.
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
django/db/backends/__init__.py
django/db/backends/mysql/base.py
django/db/backends/oracle/base.py
django/db/backends/oracle/creation.py
django/db/backends/postgresql_psycopg2/base.py
django/db/backends/sqlite3/base.py
django/db/models/fields/related.py
|
| |
| |
| |
| |
| | |
The commit of 266de5f9ae9e9f2fbfaec3b7e4b5fb9941967801 included only
tests, this time also code changes included...
|
| | |
|
| |
| |
| |
| | |
Refs #19399. Thanks to Track alias KJ for the patch.
|
| |
| |
| |
| |
| |
| |
| | |
This is necessary because get_model() checks are case insensitive, and if the swapable check isn't, the
swappable logic gets tied up in knots with models that are partially swapped out.
Thanks to chris@cogdon.org for the report and extensive analysis, and Preston for his work on the draft patch.
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
django/db/models/loading.py
django/db/models/options.py
|
| |
| |
| |
| | |
The code was dead-code since 2006.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The select_related code got confused when it needed to travel a
reverse relation to a model which had different parent than the
originally travelled relation.
Thanks to Trac aliases shauncutts for report and ungenio for original
patch (committed patch is somewhat modified version of that).
|
| |
| |
| |
| |
| | |
The regression was caused by select_related fix for Oracle, commit
c159d9cec0baab7bbd04d5d51a92a51e354a722a.
|
| |
| |
| |
| | |
jgelens for the original patch.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The dupe avoidance logic was removed as it doesn't seem to do anything,
it is complicated, and it has nearly zero documentation.
The removal of dupe_avoidance allowed for refactoring of both the
implementation and signature of Query.join(). This refactoring cascades
again to some other parts. The most significant of them is the changes
in qs.combine(), and compiler.select_related_descent().
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
django/db/backends/__init__.py
django/db/models/fields/related.py
django/db/models/options.py
|