From 33edae21df041d60ec6af3d1cd77797e0b98f2fa Mon Sep 17 00:00:00 2001 From: Robert Wittams Date: Tue, 18 Oct 2005 00:04:11 +0000 Subject: [PATCH] Fixes for follow and manipulator stuff. And a fix for manipulator_save. Cheers bitprophet. git-svn-id: http://code.djangoproject.com/svn/django/branches/new-admin@920 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/meta/__init__.py | 10 ++++------ django/core/meta/fields.py | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/django/core/meta/__init__.py b/django/core/meta/__init__.py index 16ac1a0e0a..d2c901c3f0 100644 --- a/django/core/meta/__init__.py +++ b/django/core/meta/__init__.py @@ -223,7 +223,6 @@ class RelatedObject(object): over[self.field.name] = False return self.opts.get_follow(over) - def __repr__(self): return "" % ( self.name, self.field.name) @@ -1659,7 +1658,7 @@ def manipulator_save(opts, klass, add, change, self, new_data): # ('1', {'id': ['941'], 'choice': ['This is the second choice']}), # ('2', {'id': [''], 'choice': ['']})] child_follow = self.follow.get(related.name, None) - + if child_follow: obj_list = expanded_data[related.var_name].items() obj_list.sort(lambda x, y: cmp(int(x[0]), int(y[0]))) @@ -1707,8 +1706,7 @@ def manipulator_save(opts, klass, add, change, self, new_data): param = f.get_default() else: param = f.get_manipulator_new_data(rel_new_data, rel=True) - - if param: + if param != None: params[f.column] = param @@ -1741,14 +1739,14 @@ def manipulator_save(opts, klass, add, change, self, new_data): else: for f in related.opts.fields: if not f.primary_key and f != related.field and str(getattr(old_rel_obj, f.column)) != str(getattr(new_rel_obj, f.column)): - self.fields_changed.append('%s for %s "%r"' % (f.verbose_name, rel_opts.verbose_name, new_rel_obj)) + self.fields_changed.append('%s for %s "%r"' % (f.verbose_name, related.opts.verbose_name, new_rel_obj)) # Save many-to-many objects. for f in related.opts.many_to_many: if child_follow.get(f.name, None) and not f.rel.edit_inline: was_changed = getattr(new_rel_obj, 'set_%s' % f.name)(rel_new_data[f.name]) if change and was_changed: - self.fields_changed.append('%s for %s "%s"' % (f.verbose_name, rel_opts.verbose_name, new_rel_obj)) + self.fields_changed.append('%s for %s "%s"' % (f.verbose_name, related.opts.verbose_name, new_rel_obj)) # If, in the change stage, all of the core fields were blank and # the primary key (ID) was provided, delete the item. diff --git a/django/core/meta/fields.py b/django/core/meta/fields.py index f555e3be93..8a0337e90e 100644 --- a/django/core/meta/fields.py +++ b/django/core/meta/fields.py @@ -292,7 +292,7 @@ class Field(object): return { self.get_db_column(): self._get_val_from_obj(obj)} def get_follow(self, override=None): - if override: + if override != None: return override else: return self.editable