Esempio n. 1
0
    def decollect(self, uid):
        from utils.query import get_favorite

        f = get_favorite(uid, self.id)
        if not f:
            return
        f.delete()
        _flush_favorite_page(uid)
Esempio n. 2
0
 def collect(self, uid):
     f = Favorite(uid, self.id)
     try:
         db.session.add(f)
         db.session.commit()
     except IntegrityError:
         db.session.rollback()
     _flush_favorite_page(uid)
     return f
Esempio n. 3
0
    def delete(self):
        urs = db.session.query(Favorite.uid).filter_by(aid=self.id).all()

        db.session.delete(self)
        db.session.query(Favorite).filter_by(aid=self.id).delete()
        db.session.query(ArticleContent).filter_by(aid=self.id).delete()
        db.session.commit()

        _flush_article_content(self.id)
        _flush_article_page(self.fid)
        ## TODO 这个写法是有点奇怪, 但是现在的数据表结构只能这么做=.=
        ## 如果这个urs很大怎么搞... 是个问题... 要想一下
        [_flush_favorite_page(uid) for uid in urs]