Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #20337 -- Clarified error message when database relation is not…

… allowed.
  • Loading branch information...
commit 07a73a2714a504ae487112c1679977fccc19b159 1 parent 127d9b2
@dlo dlo authored timgraham committed
Showing with 2 additions and 4 deletions.
  1. +2 −4 django/db/models/fields/related.py
View
6 django/db/models/fields/related.py
@@ -228,8 +228,7 @@ def __set__(self, instance, value):
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": instance is on database "%s", value is on database "%s"' %
- (value, instance._state.db, value._state.db))
+ 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])
if None in related_pk:
@@ -328,8 +327,7 @@ def __set__(self, instance, value):
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": instance is on database "%s", value is on database "%s"' %
- (value, instance._state.db, value._state.db))
+ raise ValueError('Cannot assign "%r": the current database router prevents this relation.' % value)
# If we're setting the value of a OneToOneField to None, we need to clear
# out the cache on any old related object. Otherwise, deleting the
Please sign in to comment.
Something went wrong with that request. Please try again.