diff options
author | Raphaël Barrois <raphael.barrois@polyconseil.fr> | 2011-08-03 18:28:09 +0200 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polyconseil.fr> | 2011-08-03 18:28:09 +0200 |
commit | 70e961169a14588d223e282387cdbab0cb8a404c (patch) | |
tree | 1f42946b59ae9433ec0045cd5c15531a81a42870 | |
parent | 720371777ff8cf3e5d299398d530b948034a228a (diff) | |
download | factory-boy-70e961169a14588d223e282387cdbab0cb8a404c.tar factory-boy-70e961169a14588d223e282387cdbab0cb8a404c.tar.gz |
Allow the definition of 'abstract' factories.
Needs more testing.
Signed-off-by: Raphaël Barrois <raphael.barrois@polyconseil.fr>
-rw-r--r-- | factory/base.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/factory/base.py b/factory/base.py index c474348..cfbfae8 100644 --- a/factory/base.py +++ b/factory/base.py @@ -73,7 +73,7 @@ class BaseFactoryMetaClass(type): an associated class instance at a later time.''' base = get_factory_base(bases) - if not base: + if not base or attrs.get('ABSTRACT_FACTORY', False): # If this isn't a subclass of Factory, don't do anything special. return super(BaseFactoryMetaClass, cls).__new__(cls, class_name, bases, attrs) @@ -100,7 +100,7 @@ class FactoryMetaClass(BaseFactoryMetaClass): for construction of an associated class instance at a later time.''' base = get_factory_base(bases) - if not base: + if not base or attrs.get('ABSTRACT_FACTORY', False): # If this isn't a subclass of Factory, don't do anything special. return super(FactoryMetaClass, cls).__new__(cls, class_name, bases, attrs) @@ -253,6 +253,8 @@ class DjangoModelFactory(Factory): handle those for non-numerical primary keys. """ + ABSTRACT_FACTORY = True + @classmethod def _setup_next_sequence(cls): try: |