diff --git a/backend/app/api/v1/endpoints/vorlagen.py b/backend/app/api/v1/endpoints/vorlagen.py index 653f938..71d720c 100644 --- a/backend/app/api/v1/endpoints/vorlagen.py +++ b/backend/app/api/v1/endpoints/vorlagen.py @@ -102,4 +102,9 @@ async def loesche_vorlage( positionen = await db.execute(select(Vorlagenposition).where(Vorlagenposition.vorlage_id == vorlage_id)) for position in positionen.scalars().all(): await db.delete(position) + # Flush zwischen den Deletes nötig: Beladungsvorlage/Vorlagenposition haben + # keine ORM-relationship() (nur rohe FK-Spalten), SQLAlchemy kennt die + # Abhängigkeit also nicht automatisch und könnte beide DELETEs in falscher + # Reihenfolge absetzen (FK-Verletzung, beim echten Löschversuch gefunden). + await db.flush() await db.delete(vorlage)