summaryrefslogtreecommitdiff
path: root/django/db/models/fields/related_descriptors.py
diff options
context:
space:
mode:
Diffstat (limited to 'django/db/models/fields/related_descriptors.py')
-rw-r--r--django/db/models/fields/related_descriptors.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py
index f9b770fade..850ea99fa1 100644
--- a/django/db/models/fields/related_descriptors.py
+++ b/django/db/models/fields/related_descriptors.py
@@ -205,11 +205,10 @@ class ForwardManyToOneDescriptor:
elif value is not None:
if instance._state.db is None:
instance._state.db = router.db_for_write(instance.__class__, instance=value)
- elif value._state.db is None:
+ if value._state.db is None:
value._state.db = router.db_for_write(value.__class__, instance=instance)
- elif value._state.db is not None and instance._state.db is not None:
- if not router.allow_relation(value, instance):
- raise ValueError('Cannot assign "%r": the current database router prevents this relation.' % value)
+ if not router.allow_relation(value, instance):
+ raise ValueError('Cannot assign "%r": the current database router prevents this relation.' % value)
remote_field = self.field.remote_field
# If we're setting the value of a OneToOneField to None, we need to clear
@@ -451,11 +450,10 @@ class ReverseOneToOneDescriptor:
else:
if instance._state.db is None:
instance._state.db = router.db_for_write(instance.__class__, instance=value)
- elif value._state.db is None:
+ if value._state.db is None:
value._state.db = router.db_for_write(value.__class__, instance=instance)
- elif value._state.db is not None and instance._state.db is not None:
- if not router.allow_relation(value, instance):
- raise ValueError('Cannot assign "%r": the current database router prevents this relation.' % value)
+ if not router.allow_relation(value, instance):
+ raise ValueError('Cannot assign "%r": the current database router prevents this relation.' % value)
related_pk = tuple(getattr(instance, field.attname) for field in self.related.field.foreign_related_fields)
# Set the value of the related field to the value of the related object's related field