From 357c719a788c0c67e1b01cdbe48c67865e7a07d7 Mon Sep 17 00:00:00 2001 From: dhvandenakker Date: Fri, 29 Dec 2023 17:58:35 +0100 Subject: [PATCH] Patches issue #993 --- factory/base.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/factory/base.py b/factory/base.py index 36b2359a..77056a1b 100644 --- a/factory/base.py +++ b/factory/base.py @@ -664,8 +664,23 @@ def create(cls, **kwargs): raise errors.UnsupportedStrategy() +class DictFactoryOptions(FactoryOptions): + + def _get_counter_reference(self): + """Identify which factory should be used for a shared counter.""" + + # When _setup_next_sequence is overridden in the factory, it should get a new counter + if '_setup_next_sequence' in self.factory.__dict__: + return self + else: + return super()._get_counter_reference() + + class BaseDictFactory(Factory): """Factory for dictionary-like classes.""" + + _options_class = DictFactoryOptions + class Meta: abstract = True