Example #1
0
class CMSRole(db.Model):
    __tablename__ = 'cms_role'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50), nullable=False)
    desc = db.Column(db.String(200), nullable=True)
    create_time = db.Column(db.DateTime, default=datetime.now)
    permissions = db.Column(db.Integer, default=CMSPermission.VISITOR)

    users = db.relationship('CMSUser',
                            secondary=cms_role_user,
                            backref='roles')
Example #2
0
class Question(db.Model):
    __tablename__ = 'question'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    type_id = db.Column(db.Integer, db.ForeignKey('type.id'))
    type = db.relationship('Type', backref=db.backref('questions'))
    status_id = db.Column(db.Integer, db.ForeignKey('status.id'))
    status = db.relationship('Status', backref=db.backref('questions'))
    reporter = db.Column(db.String(50))
    assignee = db.Column(db.String(50))
    content = db.Column(db.Text, nullable=False)
    estimated = db.Column(db.Float)
    remaining = db.Column(db.Float)
    log = db.Column(db.Float)
    # 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'))
Example #3
0
class QuestionModel(db.Model):
    __tablename__ = 'questions'
    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)
    create_time = db.Column(db.DateTime, default=datetime.datetime.now)
    author_id = db.Column(db.String(100), db.ForeignKey('users.id'))

    author = db.relationship('UserModel', backref='questions')

    __mapper_args__ = {'order_by': create_time.desc()}
class Answer(db.Model):
    __tablename__ = 'Answer'

    id = db.Column(INTEGER(11), primary_key=True)
    idQuestion = db.Column(ForeignKey('Question.id', ondelete='CASCADE'),
                           nullable=False,
                           index=True)
    sql = db.Column(String(400), nullable=False)
    json = db.Column(String(600))

    Question = db.relationship('Question')
Example #5
0
class Question(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)
    # datetime.now() 是服務器第一次運行的時間
    # datetime.now 是每次建立一個model時,都取得當前的時間
    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'))
Example #6
0
class Question(db.Model):
    __tablename__ = 'questions'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(11), nullable=False)
    content = db.Column(db.Text, nullable=False)

    create_time = db.Column(db.DateTime, default=datetime.now)
    # table的名字
    author_id = db.Column(db.Integer, db.ForeignKey('users.id'))

    author = db.relationship('User', backref=db.backref('questions'))
Example #7
0
class Aboutme(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.BLOB, nullable=False)
    create_datetime = db.Column(db.DateTime, default=datetime.now)
    update_datetime = db.Column(db.DateTime)
    user_id = db.Column(db.Integer,
                        db.ForeignKey('user.id'),
                        nullable=False,
                        unique=True)

    user = db.relationship('User', backref='aboutme')
Example #8
0
class Book(db.Model):
    __table_name__ = 'book'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    book_name = db.Column(db.String(255), nullable=False)
    book_url = db.Column(db.String(200), nullable=False)
    book_author = db.Column(db.String(50), nullable=False)
    book_cover_url = db.Column(db.String(200))
    book_describe = db.Column(db.Text)
    type_id = db.Column(db.Integer, db.ForeignKey("book_type.id"))
    # 反向查询
    type = db.relationship('BookType', backref=db.backref('books'))
Example #9
0
class CMSRole(db.Model):
    __tablename__ = 'cms_role'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 主键  自增
    name = db.Column(db.String(50), nullable=False)  # 非空
    desc = db.Column(db.String(250), nullable=False)  # 非空
    creat_time = db.Column(db.DateTime, default=datetime.now)
    permission = db.Column(db.Integer, default=CMSPersmission.VISITOR)  # 默认先给游客权限

    # 反向查询属性,关联中间表secondary=cms_role_user,对应了CMS_User模型,建立模型联系,不映射到数据库中
    users = db.relationship('CMS_User', secondary=cms_role_user, backref="roles")  # roles是CMS_User的外键
Example #10
0
class Post(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(30), nullable=False)
    context = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.datetime.now,
                            onupdate=datetime.datetime.now)
    read_count = db.Column(db.Integer, default=0)
    is_removed = db.Column(db.Boolean, default=False)

    author_id = db.Column(db.String(100), db.ForeignKey('front_user.id'))
    board_id = db.Column(db.Integer, db.ForeignKey('board.id'))
    highlight_id = db.Column(db.Integer, db.ForeignKey('highlight.id'))
    author = db.relationship('Regist', backref='posts')
    board = db.relationship('Boards',
                            backref=db.backref('posts', lazy='dynamic'))
    highlights = db.relationship('Highlightmodel',
                                 backref='post',
                                 uselist=False)
Example #11
0
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), nullable=False)
    content = db.Column(db.BLOB, nullable=False)
    pdatetime = db.Column(db.DateTime, default=datetime.now)
    clickNum = db.Column(db.Integer, default=0)
    saveNum = db.Column(db.Integer, default=0)
    love = db.Column(db.Integer, default=0)
    userId = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    comments = db.relationship('Comment', backref='articles')
    type_id = db.Column(db.Integer, db.ForeignKey('article_type.id'))
Example #12
0
class Question(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'))
Example #13
0
class User(db.Model):
    '''用户表'''
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 主键、自动增长
    username = db.Column(db.String(30), nullable=False)  # 用户名
    password = db.Column(db.String(255), nullable=False)  # 密码
    phone = db.Column(db.String(11), unique=True, nullable=False)  # 手机,唯一
    # 用户头像,保存文件路径
    icon = db.Column(db.String(255), default='upload/icon/default_icon.jpg')
    register_time = db.Column(db.DateTime, default=datetime.now())  # 注册时间
    is_delete = db.Column(db.Boolean, default=False)  # 是否逻辑删除,False否,True是

    # 一对多关系:一个用户多篇文章:关联查询
    # 建立文章跟用户的关系       1、对应哪个类  2、反向引用:Arcitle.user.username
    articles = db.relationship('Article', backref='user')  # 不用迁移,不在数据库层面
    # 跟评论建立关系
    comments = db.relationship('Comment', backref='user')

    # 直接打印User会输出username
    def __str__(self):
        return self.username
Example #14
0
class Goods(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    gname = db.Column(db.String(100), nullable=False)
    price = db.Column(db.Float, nullable=False)
    # back reference
    users = db.relationship('User',
                            backref='goodslist',
                            secondary='user_goods')

    def __str__(self):
        return self.gname
Example #15
0
class PostModel(db.Model):
    __tablename__ = 'post'
    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)
    content_html = db.Column(db.Text)
    create_time = db.Column(db.DateTime, default=datetime.now)

    board_id = db.Column(db.Integer, db.ForeignKey("cms_board.id"))
    author_id = db.Column(db.String(40), db.ForeignKey("front_user.id"))
    # 1表示被删除,0表示未删除,默认为0
    is_delete = db.Column(db.Integer, default=0)
    read_count = db.Column(db.Integer, default=0)
    like_count = db.Column(db.Integer, default=0)
    comment_count = db.Column(db.Integer, default=0)

    board = db.relationship("BoardModel", backref='posts')
    author = db.relationship("FrontUser", backref='posts')

    def on_changed_content(target, value, oldvalue, initiator):
        '''实现markdown转HTML并进行安全验证'''
        # 允许上传的标签
        allowed_tags = [
            'a', 'abbr', 'acronym', 'b', 'blockquote', 'code', 'em', 'i', 'li',
            'ol', 'pre', 'strong', 'ul', 'h1', 'h2', 'h3', 'p', 'img', 'video',
            'div', 'iframe', 'p', 'br', 'span', 'hr', 'src', 'class'
        ]

        # 允许上传的属性
        allowed_attrs = {
            '*': ['class'],
            'a': ['href', 'rel'],
            'img': ['src', 'alt']
        }

        # 目标设置
        target.content_html = bleach.linkify(
            bleach.clean(markdown(value, output_format='html'),
                         tags=allowed_tags,
                         strip=True,
                         attributes=allowed_attrs))
Example #16
0
class Goods(db.Model):
    __tablename__ = "goods"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    type = db.Column(db.String(100), nullable=False)
    num = db.Column(db.Integer, nullable=False)
    price = db.Column(db.String(10), nullable=False)
    produce_date = db.Column(db.Date, nullable=False)
    guarantee_time = db.Column(db.Integer, nullable=False)
    # 以下操作为数据表的属性关联
    provider_id = db.Column(db.Integer, db.ForeignKey('provider.id'))
    provider = db.relationship('Provider', backref=db.backref('goods'))
Example #17
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), nullable=False)
    password = db.Column(db.String(20), nullable=False)
    disk_use = db.Column(db.Float, default=0, nullable=False)
    is_staff = db.Column(db.Boolean, default=False, nullable=False)

    messages = db.relationship('Message', backref='author')

    def __repr__(self):
        return self.username
class Drug(db.Model):
    __tablename__ = 'drug'
    id = db.Column(db.Integer(), primary_key=True, autoincrement=True)
    num = db.Column(db.String(50), nullable=False)
    name = db.Column(db.String(50), nullable=False)
    count = db.Column(db.Integer(), nullable=False)
    saleCount = db.Column(db.Integer(), nullable=False, default=0)
    price = db.Column(db.REAL(), nullable=False, default=0)
    desc = db.Column(db.String(500), nullable=False)
    # 关联药品类别表id
    drugTypeId = db.Column(db.Integer(), db.ForeignKey('drugType.id'))
    drugType = db.relationship('DrugType', backref='drug')
Example #19
0
class Question(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 每次创建新数据模型都会调 now 这个函数,时间会更新
    create_time = db.Column(db.DateTime, default=datetime.now)
    # ForeignKey 指定外键
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    # backref 反转: 通过 question 查找 user 发布的所有问答
    author = db.relationship('User', backref=db.backref('question'))
Example #20
0
class EoApiResultParam(db.Model):
    __tablename__ = 'eo_api_result_param'

    paramID = db.Column(db.Integer, autoincrement=True, primary_key=True)
    paramName = db.Column(db.String(255), nullable=False, default=None)
    paramKey = db.Column(db.String(255), nullable=False, default=None)
    paramNotNull = db.Column(db.Boolean, nullable=False)

    # 外键
    apiID = db.Column(db.Integer, db.ForeignKey('eo_api.apiID'))
    # 关系
    api = db.relationship("EoApi", backref="result_params")
Example #21
0
class EoProjectStatusCode(db.Model):
    __tablename__ = 'eo_project_status_code'

    codeID = db.Column(db.Integer, primary_key=True, autoincrement=True)
    code = db.Column(db.String(255), nullable=False)
    codeDescription = db.Column(db.String(255), nullable=False)

    # 外键
    groupID = db.Column(db.Integer, db.ForeignKey("eo_project_status_code_group.groupID"))

    # 关系
    status_code_group = db.relationship("EoProjectStatusCodeGroup", backref="status_code")
Example #22
0
class Article(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), nullable=False)
    content = db.Column(db.Text, nullable=False)
    pdatetime = db.Column(db.DateTime, default=datetime.now)
    click_num = db.Column(db.Integer, default=0)
    save_num = db.Column(db.Integer, default=0)
    love_num = db.Column(db.Integer, default=0)
    # 外键 同步到数据库的外键关系
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    type_id = db.Column(db.Integer, db.ForeignKey('type.id'), nullable=False)
    comments = db.relationship('Comment', backref='article')
Example #23
0
class Question(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与User模型中的user表单产生关系,questions与author的反向关系,即通过questions可以查看
    # 该作者发表的所有问题
    author = db.relationship('User', backref=db.backref('questions'))
Example #24
0
class Article(db.Model):
    __tablename__ = 'article'

    id = db.Column(db.Integer, primary_key=True)
    # content = db.Column(db.String(10), nullable=False)
    user_id = db.Column(db.ForeignKey('user.id', ondelete='CASCADE'),
                        nullable=False,
                        index=True)

    user = db.relationship('User',
                           primaryjoin='Article.user_id == User.id',
                           backref='articles')
Example #25
0
class BoardModel(db.Model):
    __tablename__ = 'board'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('cms_user.id'))

    author = db.relationship('CMSUser', backref='boards')

    def __init__(self, name, author):
        self.name = name
        self.author = author
Example #26
0
class Question(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() gets the time that the server runs for the first time
    #now gets the time that when the comment is posted.
    create_time = db.Column(db.DateTime, default=datetime.now)
    #foreign key
    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    author = db.relationship('User', backref=db.backref('question'))
Example #27
0
class Comment(db.Model):
    __tablename__ = 'comment'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    article_id = db.Column(db.Integer, db.ForeignKey('article.id'))
    comment_author = db.Column(db.String(10), nullable=False)
    comment_content = db.Column(db.Text, nullable=False)
    create_time = db.Column(db.DATETIME, default=datetime.now)

    #在评论表可以通过article关联到文章表根据article_id, 同时在文章表也可以通过comment,关联到Comment表
    article = db.relationship('Article',
                              backref=db.backref('comment',
                                                 order_by=create_time.desc()))
Example #28
0
class Question(db.Model):
    __tablename__ = "question"
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    context = 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('question',order_by=create_time.desc()))

    __mapper_args__ = {"order_by": create_time.desc()}
Example #29
0
class Route(db.Model):
    __tablename__ = "route"

    route_id = db.Column(db.Integer, nullable=False, primary_key=True)
    route_name = db.Column(db.CHAR(20))
    # 反向引用 bus
    bus = db.relationship("bus", backref="route", lazy="dynamic")
    # 反向引用 route_station
    route_station = db.relationship("route_station",
                                    backref="route",
                                    lazy="dynamic")

    def __init__(self, route_name):
        self.route_name = route_name

    def save(self):
        db.session.add(self)
        db.session.commit()

    def __rper__(self):
        return '<Route:%r>' % self.__tablename__
Example #30
0
class Comment(BaseModel):
    __tablename__ = 'comment'

    content = db.Column(db.String(255), nullable=False)
    love_num = db.Column(db.Integer, default=0)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    news_id = db.Column(db.Integer, db.ForeignKey('news.id'))

    replys = db.relationship('Reply', backref='comment')

    def __str__(self):
        return self.content