Aymeric Augustin
bb8ec71f61
Updated the AppCommand API to support apps without a models module.
2013-12-28 09:42:59 +01:00
Aymeric Augustin
aff57793b4
Simplified the implementation of register_model.
...
register_model is called exactly once in the entire Django code base, at the
bottom of ModelBase.__new__:
new_class._meta.apps.register_model(new_class._meta.app_label, new_class)
ModelBase.__new__ exits prematurely 120 lines earlier (sigh) if a model with
the same name is already registered:
if new_class._meta.apps.get_registered_model(new_class._meta.app_label, name):
return
(This isn't the exact code, but it's equivalent.)
apps.register_model and apps.get_registered_model are essentially a setter and
a getter for apps.all_models, and apps.register_model is the only setter. As a
consequence, new_class._meta.apps.all_models cannot change in-between.
Considering that name == new_class.__name__, we can conclude that
register_model(app_label, model) is always called with such arguments that
get_registered_model(app_label, model.__name__) returns None.
Considering that model._meta.model_name == model.__name__.lower(), and looking
at the implementation of register_model and get_registered_model, this proves
that self.all_models[app_label] doesn't contain model._meta.model_name in
register_model, allowing us to simplify the implementation.
2013-12-28 09:34:46 +01:00
Ramiro Morales
3518e9ec1f
Amend test table name so it doesn't clash.
...
Refs #21692 and 3efd1b8b93
.
2013-12-27 21:02:39 -03:00
Ramiro Morales
61cfcec5b7
Merge pull request #2120 from ramiro/schema-creation-quoting
...
Fixed #21692 -- Quote table name when creating it.
2013-12-27 15:40:52 -08:00
Aymeric Augustin
14bcbd9937
Avoided %r formatting on possibly unicode strings.
...
The u prefix looks bad on Python 2.
2013-12-27 23:19:23 +01:00
Ramiro Morales
3efd1b8b93
Fixed #21692 -- Quote table name when creating it.
2013-12-27 18:43:52 -03:00
Aymeric Augustin
efddae252c
Refactored dumpdata with app configs instead of models modules.
2013-12-27 21:25:35 +01:00
Aymeric Augustin
40b8767635
Fixed a couple flake8 warnings.
2013-12-27 21:06:28 +01:00
Tim Graham
85270ef3f5
Fixed #21650 -- Corrected bad advice for plural translation.
...
Thanks nedbatchelder and claudep.
2013-12-27 10:02:22 -05:00
Aymeric Augustin
2504a50cc2
Created a constant for the migrations module name.
...
Mostly for consistency with MODELS_MODULE_NAME; it's unlikely to change.
2013-12-27 15:36:19 +01:00
Florian Apolloner
f00243f36d
Don't try to load app directory templates from apps with a path (eg eggs)
2013-12-27 11:42:24 +01:00
Florian Apolloner
6aa1a31660
Properly app_template_dirs when INSTALLED_APPS change.
2013-12-27 11:17:25 +01:00
Tim Graham
025ec2e7fe
Fixed #21582 -- Corrected URL namespace example.
...
Thanks oubiga for the report.
2013-12-26 20:04:28 -05:00
Aymeric Augustin
6e3ca6507c
Used app_config.verbose_name instead of app_label|capfirst.
...
An admin view performed the capitalization in the template, unlike all others.
Refs #10436 .
2013-12-26 22:58:37 +01:00
Tim Graham
d8d83777eb
Fixed #21629 -- Added instructions for loading MySQL time zone definitions.
...
Thanks Aymeric for the suggestion.
2013-12-26 15:50:33 -05:00
Aymeric Augustin
8779aa806e
Added a test for Apps.has_app.
2013-12-26 20:39:28 +01:00
Tim Graham
d430f1d98b
Fixed #21609 -- Amended CONTRIBUTING.rst pull request guidelines.
...
Thanks cjerdonek for the suggestion.
2013-12-26 13:41:03 -05:00
Aymeric Augustin
cfbdd587f6
Added file forgotten in previous commit, plus one more test.
2013-12-26 19:29:32 +01:00
Aymeric Augustin
e179291fa5
Added tests for invalid values of INSTALLED_APPS.
2013-12-26 19:25:09 +01:00
Aymeric Augustin
b355e98a50
Normalized exceptions raised by AppConfig.create.
...
It raises ImportError whenever an entry in INSTALLED_APPS points
(directly or indirectly via AppConfig.name) to a non-existing module
and ImproperlyConfigured in all other cases.
Catching ImportError and re-raising ImproperlyConfigured tends to make
circular imports more difficult to diagnose.
2013-12-26 19:25:09 +01:00
Aymeric Augustin
ce1bc2c94b
Made the AppConfig API marginally more consistent.
...
Eliminated the app_ prefix that was more confusing than useful.
2013-12-26 19:25:09 +01:00
Aymeric Augustin
fec5330c79
Made unset_installed_apps reset the app registry state.
...
Previously the _apps/models_loaded flags could remain set to False if
set_installed_apps exited with an exception, which is going to happen as
soon as we add tests for invalid values of INSTALLED_APPS.
2013-12-26 19:21:02 +01:00
Aymeric Augustin
8925aaf613
Added basic tests for get_app_config[s].
2013-12-26 19:21:02 +01:00
Preston Timmons
aef019de61
Fixed #21206 -- No longer run discovery if the test label doesn't point to a package or directory.
...
Thanks thepapermen for the report and Carl Meyer for the review.
2013-12-26 11:26:24 -05:00
Aymeric Augustin
52325b0a04
Turned apps.ready into a property. Added tests.
2013-12-26 15:04:58 +01:00
Aymeric Augustin
922430177c
Beefed up the comments for AppConfig.all_models.
2013-12-26 14:12:30 +01:00
Aymeric Augustin
8f04f53dd8
Removed a few gratuitous lambdas.
2013-12-26 14:03:50 +01:00
Tim Graham
4e7aa573ec
Added missing newline in previous commit.
2013-12-26 07:52:31 -05:00
Jon Lønne
398642fd9b
Fixed #21627 -- Added unicode_literals to changepassword command.
...
Fixed a crash when executing changepassword command when the user object
representation contained non-ASCII characters.
2013-12-26 07:35:50 -05:00
Claude Paroz
318cdc07de
Added 1.6.2 release note for 542198c1d
2013-12-26 11:10:50 +01:00
Alex Gaynor
029acbe544
Merge pull request #2114 from levigross/master
...
Removed redundant line
2013-12-25 14:40:30 -08:00
Levi Gross
cb488c5c35
Removed redundant line
2013-12-25 17:22:13 -05:00
Aymeric Augustin
7df049c417
Swapped app registry and app config API docs.
...
Thanks David Larlet for the suggestion.
Also fixed some Sphinx warnings and improved ReST markup.
2013-12-25 21:57:52 +01:00
Aymeric Augustin
08bb238eae
Merge pull request #2105 from funkybob/cleanup_get_post
...
Used @cached_property for request.GET and COOKIES
2013-12-25 12:34:06 -08:00
Yaroslav Halchenko
80027d2c38
Unified listing of shell commands/code
...
- use code-block:: bash
- prefix the command with $
2013-12-25 15:19:14 -05:00
Levi Gross
0dd9075622
Fixed unittest typo
2013-12-25 12:18:14 -05:00
Tim Graham
b798d2bf97
Added versionadded annotations for redirect middleware attributes.
...
refs #19321
2013-12-25 09:56:41 -05:00
Tim Graham
e82e7ae1e8
Fixed #21663 -- Added missing WSGIPythonPath in mod_wsgi config.
...
Thanks carrie.hazelton at altamiracorp.com for the report.
2013-12-25 06:06:25 -05:00
Tim Graham
5d82658657
Fixed #21669 -- Typo in docs/ref/forms/fields.txt.
...
Thanks alex_koval for the report.
2013-12-25 06:02:43 -05:00
Aymeric Augustin
8c78cba47f
Copy-edited previous commit.
...
Thanks Tim for the review.
2013-12-24 23:48:22 +01:00
Aymeric Augustin
285e765891
Added release notes for app loading changes.
2013-12-24 20:16:56 +01:00
Alex Gaynor
dbe2fb632d
Added a missing import and removed an unneeded import
2013-12-24 08:35:13 -08:00
Alex Gaynor
828c9be436
Merge pull request #2108 from jgastal/master
...
Typo fix for exception message.
2013-12-24 08:30:43 -08:00
Jonas Gastal
96967f642f
Typo fix for exception message.
2013-12-24 14:26:50 -02:00
Aymeric Augustin
9b8192ce51
Updated a few doc paragraphs following the app-loading refactor.
2013-12-24 17:20:11 +01:00
Aymeric Augustin
f326720a73
Documented the Apps and AppConfig APIs.
2013-12-24 17:20:11 +01:00
Claude Paroz
9267fb88ef
Added more spatial predicates for prepared geometries
...
GEOS 3.3 added crosses, disjoint, overlaps, touches and within
predicates on prepared geometries.
2013-12-24 16:53:09 +01:00
Claude Paroz
d17404aa90
Dropped support for GEOS < 3.1
2013-12-24 15:57:13 +01:00
Claude Paroz
542198c1d0
Fixed #21662 -- Kept parent reference in prepared geometry
...
Thanks Robert Scott for the report.
2013-12-24 15:25:48 +01:00
Aymeric Augustin
1716b7ce5a
Renamed AppCache to Apps.
...
Also renamed app_cache to apps and "app cache" to "app registry".
Deprecated AppCache.app_cache_ready() in favor of Apps.ready().
2013-12-24 12:25:17 +01:00