diff options
-rw-r--r-- | archaeological_context_records/tests.py | 1 | ||||
-rw-r--r-- | archaeological_finds/tests.py | 2 | ||||
-rw-r--r-- | archaeological_operations/tests.py | 6 | ||||
-rw-r--r-- | ishtar_common/data_importer.py | 6 |
4 files changed, 11 insertions, 4 deletions
diff --git a/archaeological_context_records/tests.py b/archaeological_context_records/tests.py index bccd859aa..2bd144c5e 100644 --- a/archaeological_context_records/tests.py +++ b/archaeological_context_records/tests.py @@ -86,6 +86,7 @@ class ImportContextRecordTest(ImportOperationTest): class ContextRecordInit(OperationInitTest): + test_operations = False def create_context_record(self, user=None, data={}): if not getattr(self, 'context_records', None): diff --git a/archaeological_finds/tests.py b/archaeological_finds/tests.py index 34cacfe42..ccf821757 100644 --- a/archaeological_finds/tests.py +++ b/archaeological_finds/tests.py @@ -58,7 +58,7 @@ class ImportFindTest(ImportContextRecordTest): # doing manual connections ceram = models.MaterialType.objects.get(txt_idx='ceramic').pk - self.setTargetKey('find__material_types', 'ceramique', ceram) + self.setTargetKey('find__material_types', 'terre-cuite', ceram) impt.importation() if not test: return diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index eaf2f081b..e74f579ed 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -166,7 +166,7 @@ class ImportOperationTest(TestCase): self.assertTrue(current_nb == (old_nb + 2)) # and well imported last_parcels = models.Parcel.objects.order_by('-pk').all()[0:2] - external_ids = sorted(['XXXX', 'YY55']) + external_ids = sorted(['4200-59350-YY55', '4200-75101-XXXX']) parcel_numbers = sorted(['42', '55']) sections = sorted(['ZX', 'YY']) self.assertEqual(external_ids, @@ -184,13 +184,15 @@ class ImportOperationTest(TestCase): self.assertEqual(len(imported), len(last_parcels)) self.assertEqual(models.Parcel.objects.get(parcel_number='55', section='YY').external_id, - 'YY55') + '4200-59350-YY55') # delete associated parcel with the import deletion parcel_count = models.Parcel.objects.count() impt.delete() self.assertEqual(parcel_count - 2, models.Parcel.objects.count()) def testParseParcels(self): + if not self.test_operations: + return # the database needs to be initialised before importing from archaeological_operations.import_from_csv import parse_parcels # default_town = Town.objects.create(numero_insee="12345", diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index d4e527ec6..1251aaf4c 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -1213,7 +1213,11 @@ class Importer(object): self.get_field(model, k, v, m2m_m2ms, c_c_path) if '__force_new' in v: created = v.pop('__force_new') - v = model.objects.create(**v) + has_values = bool([1 for k in v if v[k]]) + if has_values: + v = model.objects.create(**v) + else: + continue else: v['defaults'] = v.get('defaults', {}) v, created = model.objects.get_or_create( |