summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-04-02 15:44:48 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-04-02 15:44:48 +0000
commit5e5203c7d73684ef7d5e4ce1cb71f2b92ae19360 (patch)
treec924cdae487c132304ef3cf79424f0be59d5502e /django
parent8f8743a69ede47743e1aa6ab83295e35fcfd96cf (diff)
Fixed #11956 -- Modified the handling of m2m relationships between subclasses. Thanks to nidi for the report, and astoneman for the suggestion on how to fix the problem.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12908 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/related.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index 0e1addf1a4..0677f2cda0 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -710,7 +710,7 @@ class ReverseManyRelatedObjectsDescriptor(object):
model=rel_model,
core_filters={'%s__pk' % self.field.related_query_name(): instance._get_pk_val()},
instance=instance,
- symmetrical=(self.field.rel.symmetrical and isinstance(instance, rel_model)),
+ symmetrical=self.field.rel.symmetrical,
source_field_name=self.field.m2m_field_name(),
target_field_name=self.field.m2m_reverse_field_name(),
reverse=False
@@ -991,7 +991,7 @@ class ManyToManyField(RelatedField, Field):
kwargs['rel'] = ManyToManyRel(to,
related_name=kwargs.pop('related_name', None),
limit_choices_to=kwargs.pop('limit_choices_to', None),
- symmetrical=kwargs.pop('symmetrical', True),
+ symmetrical=kwargs.pop('symmetrical', to==RECURSIVE_RELATIONSHIP_CONSTANT),
through=kwargs.pop('through', None))
self.db_table = kwargs.pop('db_table', None)