diff options
Diffstat (limited to 'mediagoblin/db')
-rw-r--r-- | mediagoblin/db/models.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py index 38684e6f..97dc91dc 100644 --- a/mediagoblin/db/models.py +++ b/mediagoblin/db/models.py @@ -1008,6 +1008,17 @@ class TextComment(Base, TextCommentMixin, CommentingMixin): cascade="all, delete-orphan")) deletion_mode = Base.SOFT_DELETE + def soft_delete(self, *args, **kwargs): + # Find the GMR for this model. + gmr = GenericModelReference.query.filter_by( + obj_pk=self.id, + model_type=self.__tablename__ + ).first() + + # Delete the Comment object for this comment + Comment.query.filter_by(comment_id=gmr.id).delete() + return super(TextComment, self).soft_delete(*args, **kwargs) + def serialize(self, request): """ Unserialize to python dictionary for API """ target = self.get_reply_to() |