diff --git a/django_object_manager/field_converters.py b/django_object_manager/field_converters.py index 2b9625f..7b1412f 100644 --- a/django_object_manager/field_converters.py +++ b/django_object_manager/field_converters.py @@ -89,9 +89,10 @@ def cb(field_val, instance): instance) # Delay 1-to-1 dependency object creation field_val.save() + value = object_manager._get_or_create(name, value, _create_in_db=False, + **object_manager._data[name][value]) return FieldConverterResult( - object_manager._get_or_create(name, value, _create_in_db=False, - **object_manager._data[name][value]), + value, [partial(cb, value)], True) diff --git a/setup.py b/setup.py index 02b1e85..3208da7 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setup( name='django-object-manager', - version='0.0.5', + version='0.0.6', description='Django object manager for tests', license='BSD', long_description=long_description, diff --git a/tests/functional/test_object_manager.py b/tests/functional/test_object_manager.py index 73bd07e..ae7d6eb 100644 --- a/tests/functional/test_object_manager.py +++ b/tests/functional/test_object_manager.py @@ -114,7 +114,13 @@ def test_overwrite_param_with_none(self): parent_category=None) assert anime.parent_category is None - def test_one2one(self): + def test_one2one_forward(self): """Ensure that one2one field can be created.""" bob = self.object_manager.get_user('bob', extra_info='extra_info_1') assert bob.extra_info.address == 'NY' + + def test_one2one_reverse(self): + """Ensure that one2one field can be created.""" + extra_info = self.object_manager.get_userextrainfo('extra_info_1', + user='bob') + assert extra_info.user.name == 'Bob'