From 0648e2a554095af4d5f846f9e33acf1df50afe1f Mon Sep 17 00:00:00 2001 From: andrei kulakov Date: Tue, 25 Sep 2018 12:30:26 -0400 Subject: [PATCH] Changed `get_instance()` return val When `import_id_fields` is empty, `get_instance()` should return None. Previously it would return an object if queryset contained a single object -- qs.get() with no args returns an obj for queryset of length=1. --- import_export/instance_loaders.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/import_export/instance_loaders.py b/import_export/instance_loaders.py index ed19493..048e341 100644 --- a/import_export/instance_loaders.py +++ b/import_export/instance_loaders.py @@ -30,7 +30,10 @@ class ModelInstanceLoader(BaseInstanceLoader): for key in self.resource.get_import_id_fields(): field = self.resource.fields[key] params[field.attribute] = field.clean(row) - return self.get_queryset().get(**params) + if params: + return self.get_queryset().get(**params) + else: + return None except self.resource._meta.model.DoesNotExist: return None