Documented how allow_migrate() interacts with makemigrations.

This commit is contained in:
Timothy Allen 2016-08-15 13:34:54 -04:00 committed by Tim Graham
parent d7804662f8
commit df92f6f2e3
1 changed files with 6 additions and 4 deletions

View File

@ -183,10 +183,12 @@ A database Router is a class that provides up to four methods:
This method can also be used to determine the availability of a model on a
given database.
Note that migrations will just silently not perform any operations on a
model for which this returns ``False``. This may result in broken foreign
keys, extra tables, or missing tables if you change it once you have
applied some migrations.
:djadmin:`makemigrations` always creates migrations for model changes, but
if ``allow_migrate()`` returns ``False``, any migration operations for the
``model_name`` will be silently skipped when running :djadmin:`migrate` on
the ``db``. Changing the behavior of ``allow_migrate()`` for models that
already have migrations may result in broken foreign keys, extra tables,
or missing tables.
A router doesn't have to provide *all* these methods -- it may omit one
or more of them. If one of the methods is omitted, Django will skip