summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-03-25 10:17:23 -0400
committerTim Graham <timograham@gmail.com>2014-03-25 14:10:29 -0400
commitc0a9c2f72ac289b2ba8313c6a2c56be5ed94f01d (patch)
treeed42229445a18aaf949ccca7b26e1eb49eeea0ae /docs
parent38096da5c0db7e7a3bb5b6e977f8e17adbf389ac (diff)
[1.6.x] Fixed #22322 -- Fixed incorrect explanation of what managed=False does.
refs #14305. Thanks Adrian Klaver for the report. Backport of 9b7ba8af1b4ddb539cd69cbec9645cd873db7624 from master
Diffstat (limited to 'docs')
-rw-r--r--docs/howto/legacy-databases.txt23
-rw-r--r--docs/ref/django-admin.txt14
2 files changed, 12 insertions, 25 deletions
diff --git a/docs/howto/legacy-databases.txt b/docs/howto/legacy-databases.txt
index 798b3f8c99..8fe98d1b79 100644
--- a/docs/howto/legacy-databases.txt
+++ b/docs/howto/legacy-databases.txt
@@ -49,29 +49,20 @@ Once you've cleaned up your models, name the file ``models.py`` and put it in
the Python package that holds your app. Then add the app to your
:setting:`INSTALLED_APPS` setting.
-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. For example, consider
-this generated model definition:
-
-.. parsed-literal::
+By default, :djadmin:`inspectdb` creates unmanaged models. That is,
+``managed = False`` in the model's ``Meta`` class tells Django not to manage
+each table's creation and deletion::
class Person(models.Model):
id = models.IntegerField(primary_key=True)
first_name = models.CharField(max_length=70)
class Meta:
- **managed = False**
+ managed = False
db_table = 'CENSUS_PERSONS'
-If you wanted to modify existing data on your ``CENSUS_PERSONS`` SQL table
-with Django you'd need to change the ``managed`` option highlighted above to
-``True`` (or simply remove it to let it because ``True`` is its default value).
-
-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.
+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 above to ``True``
+(or simply remove it because ``True`` is its default value).
.. versionchanged:: 1.6
diff --git a/docs/ref/django-admin.txt b/docs/ref/django-admin.txt
index 1f548b2153..3e5750b7d0 100644
--- a/docs/ref/django-admin.txt
+++ b/docs/ref/django-admin.txt
@@ -314,15 +314,11 @@ 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
+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.