Fix category overflow, add update mechanism

This commit is contained in:
Stefan Wehrmeyer 2022-02-28 11:57:46 +01:00
parent ccfec9ddd4
commit 2665358597

View file

@ -28,10 +28,11 @@ class PlanImporter(object):
plan = GovernmentPlan.objects.filter( plan = GovernmentPlan.objects.filter(
government=self.government, title=title government=self.government, title=title
).first() ).first()
if plan:
return
plan = GovernmentPlan(government=self.government) if not plan:
plan = GovernmentPlan(government=self.government)
self.post_save_list = []
for col, row_col in self.col_mapping.items(): for col, row_col in self.col_mapping.items():
method_name = "handle_{}".format(col) method_name = "handle_{}".format(col)
if hasattr(self, method_name): if hasattr(self, method_name):
@ -51,7 +52,7 @@ class PlanImporter(object):
x.strip() for x in re.split(r" & | und ", categories) if x.strip() x.strip() for x in re.split(r" & | und ", categories) if x.strip()
] ]
if categories: if categories:
self.post_save_list.append(lambda p: p.categories.add(*categories)) self.post_save_list.append(lambda p: p.categories.set(*categories))
def handle_reference(self, plan, reference): def handle_reference(self, plan, reference):
plan.reference = ", ".join(re.split(r"\s*[,/]\s*", reference)) plan.reference = ", ".join(re.split(r"\s*[,/]\s*", reference))