Aymeric Augustin
7ed20e0153
Populated Apps instances immediately by default.
2013-12-30 22:11:17 +01:00
Aymeric Augustin
20d487c27b
Replaced Options.object_name.lower() by Options.model_name.
...
Thanks Simon for the suggestion.
Also removed inappropriate lowercasing of app labels in migrations.
Unlike model names, they are case sensitive.
2013-12-29 18:48:37 +01:00
Aymeric Augustin
ba7206cd81
Changed get_model to raise an exception on errors.
...
Returning None on errors required unpythonic error checking and was
inconsistent with get_app_config.
get_model was a private API until the previous commit, but given that it
was certainly used in third party software, the change is explained in
the release notes.
Applied the same change to get_registered_model, which is a new private
API introduced during the recent refactoring.
2013-12-28 20:53:00 +01:00
Aymeric Augustin
bbdf01e00a
Populated non-master app registries.
...
This removes the gap between the master app registry and ad-hoc app
registries created by the migration framework, specifically in terms
of behavior of the get_model[s] methods.
This commit contains a stealth feature that I'd rather not describe.
2013-12-28 20:37:42 +01:00
Aymeric Augustin
c81fae6b95
Used app_label instead of appname.
...
The last component of the dotted path to the application module is
consistently referenced as the application "label". For instance it's
AppConfig.label. appname could be confused with AppConfig.name, which is
the full dotted path.
2013-12-28 09:53:02 +01: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
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
Aymeric Augustin
2fef9e5375
Moved apps back in the toplevel django namespace.
...
Reverted 4a56a93cc4
.
2013-12-22 11:39:55 +01:00
Aymeric Augustin
0242c56fd8
Deborgified the app cache.
...
Improved Andrew's hack to create temporary app caches to handle
migrations. Now the main app cache has a "master" flag set to True
(which is a non-default keyword argument, thus unlikely to be used by
mistake). Other app cache instances have "master" set to False.
The only sanctioned way to access the app cache is by importing
django.core.apps.app_cache.
If you were instanciating an app cache and relying on the Borg pattern,
you'll have to refactor your code.
2013-12-17 21:53:18 +01:00
Aymeric Augustin
4a56a93cc4
Moved the new app cache inside core.
2013-12-17 10:17:46 +01:00
Aymeric Augustin
5ba743e262
Made it possible to create apps without a models module.
...
This commit reverts f44c4a5d0f
and 39bbd165
.
django.test.simple will be updated in a separate commit as it requires
invasive changes.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
69039becde
Deprecated get_app().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
2732edc5f2
Deprecated get_apps().
2013-12-17 10:17:45 +01:00
Aymeric Augustin
259cd3cd41
Deprecated get_app_package, get_app_path and get_app_paths.
2013-12-17 10:17:45 +01:00
Aymeric Augustin
8662654d6d
Removed module-level functions for the app cache.
...
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.
2013-12-17 10:17:44 +01:00
Aymeric Augustin
860c2c8bc5
Moved django.db.models.loading to django.apps.cache.
...
This commit doesn't contain any code changes; it's purely a refactoring.
2013-12-17 10:17:43 +01:00
Andrew Godwin
5db028affb
Fix altering of SERIAL columns and InnoDB being picky about FK changes
2013-12-11 14:19:05 +00:00
Andrew Godwin
cee4fe7307
Better default name for migrations we can't give nice names to
2013-12-11 13:23:07 +00:00
Andrew Godwin
248fdb1110
Change FKs when what they point to changes
2013-12-11 13:16:29 +00:00
Loic Bistuer
a2814846ca
Fixed E124 pep8 warnings.
2013-12-10 15:12:48 -05:00
Baptiste Mispelon
72479a2957
Made the migration detector use meta.local_fields instead of meta.fields.
...
Refs #21010 .
Thanks to Loïc for the patch.
2013-12-06 15:23:21 +01:00
Baptiste Mispelon
19e4374971
Fixed ModelState breaking when unique_together has unhashable elements.
2013-12-06 15:22:52 +01:00
Baptiste Mispelon
f463789f62
Added app_label to the error message when field reconstructing fails.
2013-12-06 15:22:47 +01:00
Andrew Godwin
a06fd092ef
Merge pull request #2037 from bmispelon/invalidbaseserror
...
Fixed TypeError when rendering ModelState with multiple bases.
2013-12-06 05:48:21 -08:00
maurycyp
4d0c72eb68
Removed unreachable `else` in `try` block.
2013-12-06 01:10:52 -05:00
Baptiste Mispelon
aba75b0d71
Fixed TypeError when rendering ModelState with multiple bases.
2013-12-06 00:55:31 +01:00
Andrew Godwin
e9c6d04224
Better error reporting when from_app_cache fails
2013-12-05 14:20:30 +00:00
Andrew Godwin
3b8e46cbc7
Migration VCS conflict detection and --merge for makemigrations
2013-12-04 16:01:49 +00:00
Andrew Godwin
ce05b8a69e
Don't make a second migration if there was a force-null-default addcol.
2013-12-04 13:56:22 +00:00
Simon Charette
42ac138009
Fixed a deprecation warning introduced by 96dd48c83f
.
2013-11-28 21:42:24 -05:00
Andrew Godwin
67b51b9895
Include deferred SQL in sqlmigrate output
2013-11-27 16:29:37 +00:00
Andrew Godwin
5e63977c0e
Fixed #21438 : makemigrations now detects ManyToManyFields
2013-11-27 15:28:33 +00:00
Andrew Godwin
96dd48c83f
Change initial migration writing to work as docs suggest.
...
Application template now includes an empty migrations module, and
the autodetector will only make initial migrations for apps with
empty modules.
2013-11-27 12:34:31 +00:00
Andrew Godwin
db4527e3c0
Fix squashed migration loading ordering issue
2013-11-27 12:29:22 +00:00
Alex Gaynor
e5b7045422
flake8 fixes
2013-11-06 20:00:48 -08:00
Andrew Godwin
106b019dc9
Massive migration optimiser improvements + RenameModel opn
2013-11-06 13:47:58 +00:00
Alex Gaynor
c347f78cc1
Fixed all E226 violations
2013-11-03 10:08:55 -08:00
Milton Mazzarri
cbc7cbbc5b
Fixed flake8 E251 violations
2013-11-03 03:22:11 -06:00
Alex Gaynor
7548aa8ffd
More attacking E302 violators
2013-11-02 13:12:09 -07:00
Tim Graham
36ded01527
Fixed #21302 -- Fixed unused imports and import *.
2013-11-02 15:24:56 -04:00
Andrew Godwin
e9cb333bc3
Auto-apply initial migrations if their tables exist already.
2013-10-30 15:17:49 +00:00
Baptiste Mispelon
497930b7f6
Use `callable` instead of `six.callable`.
...
The `callable` builtin was added back in python 3.2
which is the minimal python3 version supported by django
at this point.
2013-10-29 21:53:51 +01:00
Andrew Godwin
5ab8b5d72c
Fix migration planner to fully understand squashed migrations. And test.
2013-10-23 22:56:54 +01:00
Alasdair Nicol
c3aa2948c6
Fixed #21298 -- Fixed E301 pep8 warnings
2013-10-23 13:45:03 +01:00
Loic Bistuer
e565e1332d
Fixed #21275 -- Fixed a serializer error when generating migrations for contrib.auth.
...
The migration serializer now looks for a deconstruct method on any object.
2013-10-21 14:54:52 -04:00
Loic Bistuer
8d6953d55c
Added support for serializing class methods. - Refs #21290 .
...
The new handling allows us to do away with the whitelisting that was
required to support date and datetime objects.
2013-10-19 12:10:18 -04:00
Loic Bistuer
584110417f
Fixed #21283 -- Added support for migrations if models is a package.
...
Thanks Markus Holtermann for the report.
2013-10-19 09:48:57 -04:00
Andrew Godwin
763ac8b642
First pass on squashmigrations command; files are right, execution not.
2013-10-16 12:00:07 +01:00
Andrew Godwin
42f8666f6a
Improve migration optimizer to be able to optimize through other ops
2013-10-16 11:09:33 +01:00
Florian Apolloner
ed8919cbcb
Handle Apps with South migrations as unmigrated apps.
2013-10-15 11:57:30 +02:00