From 2a5b5ee468ddad62c1e8fee9c562eb313d9b5965 Mon Sep 17 00:00:00 2001 From: ske087 Date: Sat, 26 Jul 2025 16:56:43 +0300 Subject: [PATCH] Fix: ensure deleting a Post cascades to MapRoute, clean up relationships --- app/models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models.py b/app/models.py index 6ee089a..5994610 100644 --- a/app/models.py +++ b/app/models.py @@ -51,6 +51,7 @@ class Post(db.Model): gpx_files = db.relationship('GPXFile', backref='post', lazy='dynamic', cascade='all, delete-orphan') comments = db.relationship('Comment', backref='post', lazy='dynamic', cascade='all, delete-orphan') likes = db.relationship('Like', backref='post', lazy='dynamic', cascade='all, delete-orphan') + map_route = db.relationship('MapRoute', backref='post', uselist=False, cascade='all, delete-orphan', passive_deletes=True) def get_difficulty_label(self): labels = ['Very Easy', 'Easy', 'Moderate', 'Hard', 'Very Hard'] @@ -213,7 +214,7 @@ class MapRoute(db.Model): gpx_file_id = db.Column(db.Integer, db.ForeignKey('gpx_files.id'), nullable=False) # Relationships - post = db.relationship('Post', backref=db.backref('map_route', uselist=False)) + # Relationship now defined on Post with cascade and passive_deletes gpx_file = db.relationship('GPXFile', backref='map_route') def get_coordinates_json(self):