From 87d51c3a94ede65cfdaa803a987ee47d54908b04 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Fri, 15 Nov 2024 18:55:32 +0100 Subject: [PATCH] Fix get_or_create for documentations to prevent double entries --- aleksis/apps/alsijil/models.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/aleksis/apps/alsijil/models.py b/aleksis/apps/alsijil/models.py index bab91988c..7d869c497 100644 --- a/aleksis/apps/alsijil/models.py +++ b/aleksis/apps/alsijil/models.py @@ -292,12 +292,11 @@ class Documentation(CalendarEvent): lesson_event.teachers, ) - obj = cls.objects.create( + obj, __ = cls.objects.get_or_create( datetime_start=datetime_start, datetime_end=datetime_end, - amends=lesson_event, course=course, - subject=subject, + defaults=dict(subject=subject, amends=lesson_event), ) obj.teachers.set(teachers.all()) obj.save() @@ -308,7 +307,7 @@ class Documentation(CalendarEvent): return obj @classmethod - def get_or_create_by_id(cls, _id: str | int, user): + def get_or_create_by_id(cls, _id: str, user): if _id.startswith("DUMMY"): return cls.create_from_lesson_event( user, -- GitLab