예제 #1
0
class Post(db.Model):
    __tablename__ = 'posts'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(200))
    short_body = db.Column(db.Text)
    body = db.Column(db.Text)
    time = db.Column(db.DateTime)
    u_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    user = db.relationship('User', backref=db.backref('posts'))
    blog_image = db.Column(db.String(300))
    t_id = db.Column(db.Integer, db.ForeignKey('tags.id'))
    tag = db.relationship('Tag', backref=db.backref('posts'))

    def __init__(self,
                 title=None,
                 short_body=None,
                 body=None,
                 time=None,
                 user=None,
                 blog_image=None,
                 **kwargs):
        super(Post, self).__init__(**kwargs)
        self.title = title
        self.short_body = short_body
        self.body = body
        self.time = time
        self.user = user
        self.blog_image = blog_image

    def __repr__(self):
        return '<Post %r>' % (self.title)
예제 #2
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.TEXT, nullable=False)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    create_time = db.Column(db.DateTime, default=datetime.now)

    question = db.relationship('Question', backref=db.backref('comments'))
    author = db.relationship('User', backref=db.backref('comments'))
class Command(db.Model):
    __tablename__ = 'command'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    question_id = db.Column(db.Integer, db.ForeignKey('question.id'))
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    #通过在backref里添加order_by的函数,是数据库的倒序输出
    question = db.relationship('Questions',
                               backref=db.backref('commands',
                                                  order_by=id.desc()))
    author = db.relationship('User', backref=db.backref('commands'))
예제 #4
0
class Question(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(128), nullable=False)
    content = db.Column(db.TEXT, nullable=False)
    #now()会保存服务首次运行时间,now为内次运行时的时间
    create_time = db.Column(db.DateTime, default=datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    author = db.relationship('User', backref=db.backref('questions'))
예제 #5
0
class item_img(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    itemid = db.Column(db.Integer, db.ForeignKey('item.id'))
    imgsrc = db.Column(db.Text)
    item = db.relationship('item', backref=db.backref('item_img', lazy='dynamic'))

    def __init__(self, imgsrc, item):
        #self.itemid = itemid
        self.imgsrc = imgsrc
        self.item = item
예제 #6
0
class Diary(db.Model):
    __tablename__ = 'diarys'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(200))
    short_body = db.Column(db.String(300))
    body = db.Column(db.Text)
    time = db.Column(db.DateTime)
    diary_image = db.Column(db.String(300))
    u_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    user = db.relationship('User', backref=db.backref('diarys'))
class Questions(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)
    #now()获取的是服务器第一次运行的时间
    #now 是每次创立一个模型时候,都获取当前的时间,不要搞混了
    create_time = db.Column(db.DateTime, default=datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    author = db.relationship('User', backref=db.backref('questions'))
예제 #8
0
class Comment(db.Model):
    __tablename__ = 'comments'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(200))
    email = db.Column(db.String(200))
    comment = db.Column(db.Text)
    p_id = db.Column(db.Integer, db.ForeignKey('posts.id'))
    post = db.relationship('Post', backref=db.backref('comments'))

    def __init__(self,
                 name=None,
                 email=None,
                 comment=None,
                 post=None,
                 **kwargs):
        super(Comment, self).__init__(**kwargs)
        self.name = name
        self.email = email
        self.comment = comment
        self.post = post

    def __repr__(self):
        return '<Comments %r>' % (self.name)
예제 #9
0
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(200), unique=True, nullable=False)
    slug = db.Column(db.String(400), unique=True, nullable=False)
    created = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
    modified = db.Column(db.DateTime,
                         default=datetime.utcnow,
                         onupdate=datetime.utcnow)
    user_id = db.Column(db.Integer, nullable=False)
    url_en = db.Column(db.String(200), unique=True, nullable=False)
    image_url = db.Column(db.String(100), nullable=True)
    text = db.Column(db.Text, nullable=False)
    template = db.Column(db.Text, nullable=False)
    like_count = db.Column(db.Integer, nullable=True)
    views = db.Column(db.Integer, nullable=True)
    __searchable__ = ["text", "title", "slug", "url_en"]
    __msearch_analyzer__ = ChineseAnalyzer()
    tags = db.relationship('Tag',
                           secondary=article_tag,
                           backref=db.backref('articles', lazy="dynamic"),
                           lazy="dynamic")
    category = db.relationship('Category',
                               secondary=article_category,
                               backref=db.backref('articles', lazy="dynamic"),
                               lazy="dynamic")

    def save(self):
        try:
            db.session.add(self)
            db.session.commit()
            current_app.logger.info('文章保存成功')
            return {'status': True}
        except Exception as error:
            current_app.logger.error('文章保存错误{}:'.format(error))
            return {'status': False, "message": error}

    def updata(self):
        try:
            db.session.commit()
            current_app.logger.info('文章更新成功')
            return {'status': True}
        except Exception as error:
            current_app.logger.error('文章保存错误{}:'.format(error))
            return {'status': False, "message": error}

    def delete(self):
        try:
            db.session.delete(self)
            db.session.commit()
            current_app.logger.info('文章删除成功')
            return {'status': True}
        except Exception as error:
            current_app.logger.error('文章删除错误{}:'.format(error))
            return {'status': False, "message": error}

    def to_json(self):
        dict = self.__dict__
        if "_sa_instance_state" in dict:
            del dict["_sa_instance_state"]
        return dict

    def paginate(self):
        print(self)