diff --git a/ckan/lib/dictization/model_save.py b/ckan/lib/dictization/model_save.py index b43c49ffb78..27a7822ab45 100644 --- a/ckan/lib/dictization/model_save.py +++ b/ckan/lib/dictization/model_save.py @@ -229,7 +229,8 @@ def package_membership_list_save(group_dicts, package, context): group = session.query(model.Group).get(id) else: group = session.query(model.Group).filter_by(name=name).first() - groups.add(group) + if group: + groups.add(group) ## need to flush so we can get out the package id model.Session.flush() diff --git a/ckan/tests/lib/test_dictization.py b/ckan/tests/lib/test_dictization.py index 19f89aeba2f..abfbab4ac9b 100644 --- a/ckan/tests/lib/test_dictization.py +++ b/ckan/tests/lib/test_dictization.py @@ -359,6 +359,7 @@ def test_07_table_simple_save(self): def test_08_package_save(self): context = {"model": model, + "user": 'testsysadmin', "session": model.Session} anna1 = model.Session.query(model.Package).filter_by(name='annakarenina').one()