summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/db/models/related.py2
-rw-r--r--django/oldforms/__init__.py7
2 files changed, 7 insertions, 2 deletions
diff --git a/django/db/models/related.py b/django/db/models/related.py
index 8c64b464ec..2c1dc5c516 100644
--- a/django/db/models/related.py
+++ b/django/db/models/related.py
@@ -16,7 +16,7 @@ class RelatedObject(object):
self.opts = model._meta
self.field = field
self.edit_inline = field.rel.edit_inline
- self.name = '%s_%s' % (self.opts.app_label, self.opts.module_name)
+ self.name = '%s:%s' % (self.opts.app_label, self.opts.module_name)
self.var_name = self.opts.object_name.lower()
def flatten_data(self, follow, obj=None):
diff --git a/django/oldforms/__init__.py b/django/oldforms/__init__.py
index decf0f7064..56101984f5 100644
--- a/django/oldforms/__init__.py
+++ b/django/oldforms/__init__.py
@@ -130,7 +130,9 @@ class FormWrapper(object):
if self.edit_inline:
self.fill_inline_collections()
for inline_collection in self._inline_collections:
- if inline_collection.name == key:
+ # The 'orig_name' comparison is for backwards compatibility
+ # with hand-crafted forms.
+ if inline_collection.name == key or (':' not in key and inline_collection.orig_name == key):
return inline_collection
raise KeyError, "Could not find Formfield or InlineObjectCollection named %r" % key
@@ -226,6 +228,9 @@ class InlineObjectCollection(object):
self.errors = errors
self._collections = None
self.name = rel_obj.name
+ # This is the name used prior to fixing #1839. Needs for backwards
+ # compatibility.
+ self.orig_name = rel_obj.opts.module_name
def __len__(self):
self.fill()