mirror of
https://github.com/django/django.git
synced 2025-09-24 19:23:03 +00:00
[1.7.x] Fixed #22322 -- Fixed incorrect explanation of what managed=False does.
refs #14305.
Thanks Adrian Klaver for the report.
Backport of 9b7ba8af1b
from master
This commit is contained in:
parent
d84beb3d91
commit
7eaf329ad3
3 changed files with 13 additions and 26 deletions
|
@ -350,15 +350,12 @@ needed.
|
|||
``inspectdb`` works with PostgreSQL, MySQL and SQLite. Foreign-key detection
|
||||
only works in PostgreSQL and with certain types of MySQL tables.
|
||||
|
||||
If your plan is that your Django application(s) modify data (i.e. edit, remove
|
||||
records and create new ones) in the existing database tables corresponding to
|
||||
any of the introspected models then one of the manual review and edit steps
|
||||
you need to perform on the resulting ``models.py`` file is to change the
|
||||
Python declaration of each one of these models to specify it is a
|
||||
:attr:`managed <django.db.models.Options.managed>` one.
|
||||
|
||||
This serves as an explicit opt-in to give your nascent Django project write
|
||||
access to your precious data on a model by model basis.
|
||||
By default, ``inspectdb`` creates unmanaged models. That is, ``managed = False``
|
||||
in the model's ``Meta`` class tells Django not to manage each table's creation,
|
||||
modification, and deletion. If you do want to allow Django to manage the
|
||||
table's lifecycle, you'll need to change the
|
||||
:attr:`~django.db.models.Options.managed` option to ``True`` (or simply remove
|
||||
it because ``True`` is its default value).
|
||||
|
||||
The :djadminopt:`--database` option may be used to specify the
|
||||
database to introspect.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue