sqlalchemy. Удалить запись по идентификатору двух столбцов

#python #sqlalchemy

Вопрос:

У меня есть такой столик, как:

ID

Мне нужно удалить всю запись с этой таблицей по идентификатору comment_id, в данном случае это 1, но может быть намного больше, [1,2,3] например, как я могу это сделать с помощью оператора?

Мой код:

     def delete_comments(comments_ids:List[str])

        parent_comment_ids = select(self.Comment.comment_id). 
            filter(
                self.comment_id.parent_comment_id.in_(
                    [1]
            )
        ) 
        results = await session.execute(parent_comment_ids)
        comments_ids.extend(results.scalars().unique().all())

        statement = delete(Comment).filter(
        self.Comment.comment_id.in_(
            comments_ids
        )
    )
 

Это работает, но я думаю, что это не очень хорошее решение. Как я могу это улучшить?
Буду благодарен за помощь.

Комментарии:

1. почему бы просто не ON CASCADE DELETE включить внешний ключ от parent_comment_id до comment_id , и БД сделает это за вас, когда вы просто удалите его, используя полученный comment_ids .