From c0ad626dca67fe2e0c1dce3c5db524cfa77a9884 Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Thu, 9 Apr 2009 15:03:31 +0000 Subject: Fixed #10647: intermediary tables between two umanaged models are no longer created. git-svn-id: http://code.djangoproject.com/svn/django/trunk@10455 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/ref/models/options.txt | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'docs') diff --git a/docs/ref/models/options.txt b/docs/ref/models/options.txt index 35e52e08ac..8402567f7a 100644 --- a/docs/ref/models/options.txt +++ b/docs/ref/models/options.txt @@ -98,11 +98,16 @@ model handling are exactly the same as normal. This includes specify all the columns from the database table you are modeling when using unmanaged models. - 2. If a model contains a :class:`~django.db.models.ManyToManyField` and - has ``managed=False``, the intermediate table for the many-to-many join - will also not be created. Should you require the intermediate table to - be created, set it up as an explicit model and use the - :attr:`ManyToManyField.through` attribute. + 2. If a model with ``managed=False`` contains a + :class:`~django.db.models.ManyToManyField` that points to another + unmanaged model, then the intermediate table for the many-to-many join + will also not be created. However, a the intermediary table between one + managed and one unmanaged model *will* be created. + + If you need to change this default behavior, create the intermediary + table as an explicit model (with ``managed`` set as needed) and use the + :attr:`ManyToManyField.through` attribute to make the relation use your + custom model. For tests involving models with ``managed=False``, it's up to you to ensure the correct tables are created as part of the test setup. -- cgit v1.3