From 7a787f0ef5f0cbe381e87267278ea7fd577596d3 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Mon, 29 Aug 2022 15:55:25 +0200 Subject: Fix INSEE number generation on error with years --- ishtar_common/models_common.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ishtar_common/models_common.py') diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index 238bbeeac..aa644f35a 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -2694,7 +2694,14 @@ class Town(GeographicItem, Imported, models.Model): return old_num = self.numero_insee[:] numero = old_num.split("-")[0] - self.numero_insee = "{}-{}".format(numero, self.year) + base_insee = "{}-{}".format(numero, self.year) + self.numero_insee = base_insee + idx = 0 + while Town.objects.filter( + year=self.year, numero_insee=self.numero_insee).exclude( + pk=self.pk).count(): + idx += 1 + self.numero_insee = base_insee + "-" + str(idx) if self.numero_insee != old_num: return True -- cgit v1.2.3