David Smith
e74b3d724e
Bumped minimum isort version to 5.1.0.
...
Fixed inner imports per isort 5.
isort 5.0.0 to 5.1.0 was unstable.
2020-07-30 10:58:59 +02:00
Nick Pope
24b82cd201
Fixed #30159 -- Removed unneeded use of OrderedDict.
...
Dicts preserve order since Python 3.6.
2019-02-06 13:48:39 -05:00
Tom Forbes
c8720e7696
Fixed #27685 -- Added watchman support to the autoreloader.
...
Removed support for pyinotify (refs #9722 ).
2019-01-13 20:33:47 -05:00
Sergey Fedoseev
8ef8bc0f64
Refs #28909 -- Simplifed code using unpacking generalizations.
2018-09-28 09:57:12 -04:00
Sergey Fedoseev
553c24018e
Removed unneeded list() calls in list.extend() argument.
2018-09-25 11:30:43 -04:00
Claude Paroz
d65b0f72de
Fixed #17379 -- Removed management commands deactivation of the locale.
2018-05-13 10:21:53 +02:00
Jon Dufresne
2c69824e5a
Refs #23968 -- Removed unnecessary lists, generators, and tuple calls.
2017-06-01 19:08:59 -04:00
Anton Samarchyan
86de930f41
Refs #27656 -- Updated remaining docstring verbs according to PEP 257.
2017-03-04 10:02:06 -05:00
François Freitag
fba4f831bc
Fixed #27176 -- Raised an exception for reentrant calls to apps.populate().
...
Thanks to Aymeric Augustin, Harry Percival, and Tim Graham.
2017-02-25 15:56:24 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Aymeric Augustin
3cc5f01d9b
Refs #23919 -- Stopped using django.utils.lru_cache().
2017-01-18 21:42:40 -05:00
Adam Chainz
9d4246419c
Refs #26207 -- Removed obsolete comments about deferred model classes.
2016-11-20 18:22:13 -05:00
Ramin Farajpour Cami
967be82443
Fixed E305 flake8 warnings.
2016-11-14 12:30:46 -05:00
Aymeric Augustin
625cd5bcb3
Added require_ready argument to get_model methods.
...
This allows bringing back the behavior of Django < 1.7.
Also fixed the check for the app registry being ready in
AppConfig.get_model(s), which was inconsistent with the equivalent check in
Apps.get_model(s). That part is a backwards-incompatible change.
2016-10-28 19:08:57 -04:00
Aymeric Augustin
fd748c42a9
Simplified AppConfig.import_models().
...
Since AppConfig now has a reference to its parent Apps registry,
it can look up the models there instead of receiving them in argument.
2016-10-28 18:43:45 -04:00
Aymeric Augustin
efcb7e1ebf
Modified readiness check in AppConfig.get_model(s).
...
It was inconsistent with the equivalent check in Apps.get_model(s)
because I made incorrect assumptions when I wrote that code and
needlessly complicated readiness checks.
This is a backwards-incompatible change.
2016-10-28 18:42:29 -04:00
Alex Hill
2ff7ef15b0
Refs #26421 -- Refactored Apps.lazy_model_operation() for better checks and tests
2016-05-19 21:33:36 -04:00
Anssi Kääriäinen
7f51876f99
Fixed #26207 -- Replaced dynamic classes with non-data descriptors for deferred instance loading.
2016-04-29 13:06:32 -04:00
Tim Graham
df8d8d4292
Fixed E128 flake8 warnings in django/.
2016-04-08 09:51:06 -04:00
Tim Graham
7506616f16
Refs #24215 -- Fixed Python 3.5 compatiblity for unhandled lazy ops error.
2015-09-17 10:06:52 -04:00
Markus Holtermann
e1427cc609
Fixed #24590 -- Cached calls to swappable_setting.
...
Moved the lookup in Field.swappable_setting to Apps, and added
an lru_cache to cache the results.
Refs #24743
Thanks Marten Kenbeek for the initial work on the patch. Thanks Aymeric
Augustin and Tim Graham for the review.
2015-08-27 17:06:21 +10:00
Marten Kenbeek
aabb58428b
Refs #23621 -- Fixed warning message when reloading models.
2015-06-30 15:00:10 -04:00
Peter Inglesby
0688a7946a
Fixed #24776 -- Improved apps.get_app_config() error message on fully-qualified package names.
2015-05-22 11:08:25 -04:00
Alex Hill
720ff740e7
Fixed #24215 -- Refactored lazy model operations
...
This adds a new method, Apps.lazy_model_operation(), and a helper function,
lazy_related_operation(), which together supersede add_lazy_relation() and
make lazy model operations the responsibility of the App registry. This
system no longer uses the class_prepared signal.
2015-03-25 16:48:17 -04:00
Marten Kenbeek
888c9b6429
Fixed #24397 -- Sped up rendering multiple model states.
...
Set apps.ready to False when rendering multiple models. This prevents
that the cache on Model._meta is expired on all models after each time a
single model is rendered. Prevented that Apps.clear_cache() refills the
cache on Apps.get_models(), so that the wrong value cannot be cached
when cloning a StateApps.
2015-03-08 13:54:49 +01:00
Tim Graham
9033003d97
Added check_apps_ready() to Apps.get_containing_app_config()
2015-02-08 14:52:19 -05:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Tim Graham
cf5b67d3a0
Removed deprecated Apps methods per deprecation timeline.
2015-01-18 18:07:41 -05:00
Daniel Pyrathon
fb48eb0581
Fixed #12663 -- Formalized the Model._meta API for retrieving fields.
...
Thanks to Russell Keith-Magee for mentoring this Google Summer of
Code 2014 project and everyone else who helped with the patch!
2015-01-06 19:25:12 -05:00
Loic Bistuer
b62f72498a
Improved warning message when reloading models. Refs #23621 .
...
Thanks dfunckt and Tim Graham.
2014-10-23 01:46:04 +07:00
Loic Bistuer
8c4ca16c65
Fixed #23621 -- Warn for duplicate models when a module is reloaded.
...
Previously a RuntimeError was raised every time two models clashed
in the app registry. This prevented reloading a module in a REPL;
while it's not recommended to do so, we decided not to forbid this
use-case by turning the error into a warning.
Thanks @dfunckt and Sergey Pashinin for the initial patches.
2014-10-23 00:55:02 +07:00
Tim Graham
8121860be4
Revert "Improved AppRegistryNotReady message."
...
This reverts commit 6fa9fa91a5
.
Aymeric: "I chose not to talk about django.setup() here on purpose.
This will hardly always be the correct solution."
2014-10-04 13:13:54 -04:00
Collin Anderson
6fa9fa91a5
Improved AppRegistryNotReady message.
2014-10-04 08:02:22 -04:00
Aymeric Augustin
a764a9ccff
Checked more precisely whether the app registry is ready.
...
Accounted for the three stages of population: app configs, models,
ready() methods of app configs.
2014-07-12 18:49:37 +02:00
Claude Paroz
9618d68b34
Fixed #8033 -- Explained app registry error during translation setup
...
Thanks Tim Graham and Aymeric Augustin for the review.
2014-06-23 09:31:45 +02:00
Claude Paroz
210d0489c5
Fixed #21188 -- Introduced subclasses for to-be-removed-in-django-XX warnings
...
Thanks Anssi Kääriäinen for the idea and Simon Charette for the
review.
2014-03-08 09:57:40 +01:00
Aymeric Augustin
4f03b718f7
Fixed #21877 -- Renamed django.apps.base to config.
2014-01-26 13:17:03 +01:00
Aymeric Augustin
3c47786cb9
Fixed #21702 -- get_model('app_label.ModelName').
...
Also added tests for get_model.
2014-01-26 13:01:09 +01:00
Carl Meyer
29ddae7436
Fixed #21871 -- Fixed Apps.is_installed() for apps with custom label.
...
Thanks Aymeric for design discussion.
2014-01-24 20:07:14 -07:00
Aymeric Augustin
d674fe6dee
Used a regular lock for app registry population.
...
Since the app registry is always populated before the first request is
processed, the situation described in #18251 for the old app cache
cannot happen any more.
Refs #18251 , #21628 .
2014-01-12 22:08:46 +01:00
Aymeric Augustin
6a320cc14a
Fixed #21718 -- Renamed has_app to is_installed.
2014-01-06 22:48:41 +01:00
Aymeric Augustin
f630373b92
Fixed #21711 -- Enforced unicity of model names.
2014-01-05 20:52:53 +01:00
Aymeric Augustin
1d23d766ab
Renamed AppConfig.setup to ready.
...
Thanks Jannis and Marc for the feedback.
Fixed #21717 .
2013-12-31 18:04:54 +01:00
Aymeric Augustin
63137a8304
Enforced unicity of app labels.
...
Fixed #21679 .
2013-12-31 18:04:54 +01:00
Aymeric Augustin
c40209dcc0
Made it possible to change an application's label in its configuration.
...
Fixed #21683 .
2013-12-31 17:30:58 +01:00
Aymeric Augustin
5dfec4e23b
Checked unicity of app config names when populating the app registry.
...
This check will miss duplicates until the check for duplicate labels is
added.
Refs #21679 .
2013-12-31 17:29:04 +01:00
Aymeric Augustin
f46603f830
Fleshed out release notes for app loading.
...
Fixed #21715 .
2013-12-31 15:27:25 +01:00
Aymeric Augustin
bfcc686d22
Removed the only_with_models_module argument of get_model[s].
...
Now that the refactorings are complete, it isn't particularly useful any
more, nor very well named. Let's keep the API as simple as possible.
Fixed #21689 .
2013-12-30 23:59:34 +01:00
Aymeric Augustin
1c242a297b
Merged Apps.populate_apps() and populate_models().
...
After the recent series of refactorings, there's no reason to keep
two distinct methods.
Refs #21681 .
2013-12-30 23:18:22 +01:00
Aymeric Augustin
966de84973
Removed postponing in Apps.populate_models.
...
To the best of my understanding, since populate_models() is now called
as soon as Django starts, it cannot be called while a models module is
being imported, and that removes the need for postponing.
(If hell breaks loose we'll revert this commit.)
Refs #21681 .
2013-12-30 23:01:00 +01:00