From 4bddac7c7034f543dae6e20800eff0ede4ced511 Mon Sep 17 00:00:00 2001 From: Diederik van der Boor Date: Wed, 29 Oct 2014 18:58:54 +0100 Subject: [PATCH] Fix validate_model_fields(), caused errors when metaclass raises errors --- polymorphic/base.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/polymorphic/base.py b/polymorphic/base.py index ac0950c..a407285 100644 --- a/polymorphic/base.py +++ b/polymorphic/base.py @@ -200,12 +200,13 @@ class PolymorphicModelBase(ModelBase): del(meta.app_label) return new_class - def validate_model_fields(self): + @classmethod + def validate_model_fields(self, new_class): "check if all fields names are allowed (i.e. not in POLYMORPHIC_SPECIAL_Q_KWORDS)" - for f in self._meta.fields: + for f in new_class._meta.fields: if f.name in POLYMORPHIC_SPECIAL_Q_KWORDS: e = 'PolymorphicModel: "%s" - field name "%s" is not allowed in polymorphic models' - raise AssertionError(e % (self.__name__, f.name)) + raise AssertionError(e % (new_class.__name__, f.name)) @classmethod def validate_model_manager(self, manager, model_name, manager_name):