diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-08-26 12:56:01 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-08-26 12:56:01 -0400 |
| commit | 117997cd5b849a236208cf9ea16f0f09c6962804 (patch) | |
| tree | 76205a8974aadf03a944a853389ccf66f81e2866 /lib/sqlalchemy | |
| parent | f10eba00ea7c92315b4b39c69627058ad4931448 (diff) | |
| download | sqlalchemy-117997cd5b849a236208cf9ea16f0f09c6962804.tar.gz | |
Raise when two validators conflict
Two @validates decorators that make use of the same name
is not supported. Raise an exception.
Change-Id: Ia3e89ffdc9ef345a0de258e2ac0ac5e0bd421c61
Fixes: #3776
Diffstat (limited to 'lib/sqlalchemy')
| -rw-r--r-- | lib/sqlalchemy/orm/mapper.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index b76a6f727..e8aa08541 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -1204,6 +1204,11 @@ class Mapper(InspectionAttr): elif hasattr(method, '__sa_validators__'): validation_opts = method.__sa_validation_opts__ for name in method.__sa_validators__: + if name in self.validators: + raise sa_exc.InvalidRequestError( + "A validation function for mapped " + "attribute %r on mapper %s already exists." % + (name, self)) self.validators = self.validators.union( {name: (method, validation_opts)} ) |
