diff options
| author | Alex Gaynor <alex.gaynor@gmail.com> | 2009-12-12 02:13:30 +0000 |
|---|---|---|
| committer | Alex Gaynor <alex.gaynor@gmail.com> | 2009-12-12 02:13:30 +0000 |
| commit | 049dc42bdea8f524f9d52edd4ddc05ef0048d401 (patch) | |
| tree | 30186d401cde3159214164995a2ebc88b3114526 /django/db/models/fields/related.py | |
| parent | c88113683d6538dbc2f779ff57fd1ea20211abec (diff) | |
| download | django-049dc42bdea8f524f9d52edd4ddc05ef0048d401.tar.gz | |
[soc2009/multidb] Merged in all of Justin Bronn's GIS work. Multidb should now work fully with GIS. This is backwards incompatible, if you are using GIS, your ENGINE setting should now be django.contrib.gis.db.backends.XXX where XXX is the name of your DB backend. Thanks to Justin for all his work. This also resolves merge conflicts from the previous commit.
git-svn-id: http://code.djangoproject.com/svn/django/branches/soc2009/multidb@11813 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/db/models/fields/related.py')
| -rw-r--r-- | django/db/models/fields/related.py | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index e3520965e1..f8ae5b1f4e 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -474,11 +474,7 @@ def create_many_related_manager(superclass, rel=False): if not rel.through._meta.auto_created: opts = through._meta raise AttributeError, "Cannot use create() on a ManyToManyField which specifies an intermediary model. Use %s.%s's Manager instead." % (opts.app_label, opts.object_name) -<<<<<<< HEAD:django/db/models/fields/related.py new_obj = super(ManyRelatedManager, self).using(self.instance._state.db).create(**kwargs) -======= - new_obj = super(ManyRelatedManager, self).create(**kwargs) ->>>>>>> master:django/db/models/fields/related.py self.add(new_obj) return new_obj create.alters_data = True @@ -505,22 +501,15 @@ def create_many_related_manager(superclass, rel=False): new_ids = set() for obj in objs: if isinstance(obj, self.model): -<<<<<<< HEAD:django/db/models/fields/related.py if obj._state.db != self.instance._state.db: raise ValueError('Cannot add "%r": instance is on database "%s", value is is on database "%s"' % (obj, self.instance._state.db, obj._state.db)) -======= ->>>>>>> master:django/db/models/fields/related.py new_ids.add(obj.pk) elif isinstance(obj, Model): raise TypeError, "'%s' instance expected" % self.model._meta.object_name else: new_ids.add(obj) -<<<<<<< HEAD:django/db/models/fields/related.py vals = self.through._default_manager.using(self.instance._state.db).values_list(target_field_name, flat=True) -======= - vals = self.through._default_manager.values_list(target_field_name, flat=True) ->>>>>>> master:django/db/models/fields/related.py vals = vals.filter(**{ source_field_name: self._pk_val, '%s__in' % target_field_name: new_ids, @@ -529,11 +518,7 @@ def create_many_related_manager(superclass, rel=False): # Add the ones that aren't there already for obj_id in (new_ids - vals): -<<<<<<< HEAD:django/db/models/fields/related.py self.through._default_manager.using(self.instance._state.db).create(**{ -======= - self.through._default_manager.create(**{ ->>>>>>> master:django/db/models/fields/related.py '%s_id' % source_field_name: self._pk_val, '%s_id' % target_field_name: obj_id, }) @@ -553,22 +538,14 @@ def create_many_related_manager(superclass, rel=False): else: old_ids.add(obj) # Remove the specified objects from the join table -<<<<<<< HEAD:django/db/models/fields/related.py self.through._default_manager.using(self.instance._state.db).filter(**{ -======= - self.through._default_manager.filter(**{ ->>>>>>> master:django/db/models/fields/related.py source_field_name: self._pk_val, '%s__in' % target_field_name: old_ids }).delete() def _clear_items(self, source_field_name): # source_col_name: the PK colname in join_table for the source object -<<<<<<< HEAD:django/db/models/fields/related.py self.through._default_manager.using(self.instance._state.db).filter(**{ -======= - self.through._default_manager.filter(**{ ->>>>>>> master:django/db/models/fields/related.py source_field_name: self._pk_val }).delete() |
