예제 #1
0
    def save_to_db(self):
        if self.id.data:  # edit
            article = Article.query.get(int(self.id.data))
        else:
            article = Article()
        article.title = self.title.data
        article.short_description = self.short_description.data
        article.body = self.body.data
        article.published = self.published.data
        article.category_id = self.category.data
        article.authors = list(map(lambda member_id: Member.query.get(int(member_id)), self.authors.data))
        article.tags = []
        for tag in self.tags.data:
            tag_record = Tag.query.filter_by(name=tag).first()
            if not tag_record:
                tag_record = Tag(name=tag)
                db.session.add(tag_record)
                db.session.commit()

            article.tags.append(tag_record)
        if self.article_cover.data:
            article.cover = upload(self.article_cover.data)
        print("article", article)

        db.session.add(article)
        db.session.commit()