summaryrefslogtreecommitdiff
path: root/factory/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'factory/base.py')
-rw-r--r--factory/base.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/factory/base.py b/factory/base.py
index 928ea7a..0d03838 100644
--- a/factory/base.py
+++ b/factory/base.py
@@ -596,10 +596,13 @@ class DjangoModelFactory(Factory):
"(in %s.FACTORY_DJANGO_GET_OR_CREATE=%r)"
% (cls, cls.FACTORY_DJANGO_GET_OR_CREATE))
- key_fields = {}
- for field in cls.FACTORY_DJANGO_GET_OR_CREATE:
- key_fields[field] = kwargs.pop(field)
- key_fields['defaults'] = kwargs
+ if cls.FACTORY_DJANGO_GET_OR_CREATE:
+ key_fields = {}
+ for field in cls.FACTORY_DJANGO_GET_OR_CREATE:
+ key_fields[field] = kwargs.pop(field)
+ key_fields['defaults'] = kwargs
+ else:
+ key_fields = kwargs
obj, _created = manager.get_or_create(*args, **key_fields)
return obj