Beispiel #1
0
class Category(db.Model):
    __tablename__ = 'Category'
    TID = db.Column(db.Integer, nullable=False)  # 大类ID
    Tname = db.Column(db.String(12), nullable=False)  # 大类名称
    CID = db.Column(db.Integer, ForeignKey("Course.CID"),
                    primary_key=True)  # 课程ID
Beispiel #2
0
class Following(db.Model):
    __tablename__ = 'follow'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer)
    followed_user_id = db.Column(db.Integer)
Beispiel #3
0
class BaseModel(db.Model):
    __abstract__ = True  # 表明其为抽象类 不单独做为模型出现 只被继承使用
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    date_time = db.Column(db.DateTime, default=datetime.now)
Beispiel #4
0
class Vote(db.Model):  # 记录每个投票活动的具体选项等信息
    __tablename__ = 'vote'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    founder_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    create_time = db.Column(db.DateTime, default=datetime.now)
    title = db.Column(db.String(100), nullable=False)

    option1 = db.Column(db.String(100), nullable=False)
    sum_option1 = db.Column(db.Integer, nullable=False)

    option2 = db.Column(db.String(100), nullable=False)
    sum_option2 = db.Column(db.Integer, nullable=False)

    option3 = db.Column(db.String(100), nullable=True)
    sum_option3 = db.Column(db.Integer, nullable=True)

    option4 = db.Column(db.String(100), nullable=True)
    sum_option4 = db.Column(db.Integer, nullable=True)

    sum_options = db.Column(db.Integer, nullable=False)

    author = db.relationship('User', backref=db.backref('votes'))
Beispiel #5
0
class ChatConnection(db.Model):
    __tablename__ = 'chatconnection'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    u_id1 = db.Column(db.Integer)
    u_id2 = db.Column(db.Integer)
Beispiel #6
0
class WechatArticle(db.Model):
    '''
        公众号文章
    '''
    __tablename__ = 'wechat_article'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    account = db.Column(db.String(255), nullable=True, comment='公众号名称')
    title = db.Column(db.String(255), nullable=True, comment='公众号标题')
    url = db.Column(db.String(255), nullable=True, comment='公众号的url')
    author = db.Column(db.String(50), nullable=True, comment='工作中号发布的作者')
    publish_time = db.Column(db.DateTime, nullable=True, comment='文章发布时间')

    digest = db.Column(db.String(50), nullable=True, comment='公众号文章描述')
    cover = db.Column(db.String(50), nullable=True, comment='公众号文章封面')
    pics_url = db.Column(db.TEXT, nullable=True, comment='公众号文章中图片列表')
    content_html = db.Column(db.Text(16777216),
                             nullable=True,
                             comment='公众号文章中心内容')
    source_url = db.Column(db.String(255), nullable=True, comment='公众号文章源连接')
    comment_id = db.Column(db.String(50), nullable=True, comment='公众号文章评论id')
    sn = db.Column(db.String(50), nullable=True, unique=True, comment='')
    spider_time = db.Column(db.DateTime, nullable=True, comment='公众号抓取时间')
    flag = db.Column(db.Integer,
                     nullable=True,
                     default=0,
                     comment='flag标志,默认为0 普通,1为精华')
    is_hide = db.Column(db.Integer,
                        nullable=True,
                        default=0,
                        comment='文章是否隐藏不对外显示,默认0不隐藏')
    re_spider = db.Column(db.Integer,
                          nullable=True,
                          default=0,
                          comment='是否回采文章,0默认、1失败、2完成')
Beispiel #7
0
class BoardModel(db.Model):
    __tablename__ = 'cms_board'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)  # 主键  自增
    name = db.Column(db.String(250), nullable=False)  # 非空
    create_time = db.Column(db.DateTime, default=datetime.now)  # 创建时间
Beispiel #8
0
class DockerList(db.Model):
    __tablename__ = 'hostlist'
    id = db.Column(db.String(100), primary_key=True, default=shortuuid.uuid)
    hostname = db.Column(db.String(30), nullable=False)
    hostipaddr = db.Column(db.String(50), nullable=False)
    hostport = db.Column(db.String(5), nullable=False)
Beispiel #9
0
class FrontUser(db.Model):
    __tablename__ = 'front_user'
    id = db.Column(db.String(100), primary_key=True, default=shortuuid.uuid)
    telephone = db.Column(db.String(11), nullable=False, unique=True)
    username = db.Column(db.String(50), nullable=False)
    _password = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(50), unique=True)
    realname = db.Column(db.String(50))
    avatar = db.Column(db.String(100))
    signature = db.Column(db.String(100))
    gender = db.Column(db.Enum('male', 'female', 'secret', 'unknow'),
                       default='unknow')
    join_time = db.Column(db.DateTime, default=datetime.datetime.now)
    integral = db.Column(db.String(50))

    def __init__(self, *args, **kwargs):
        if "password" in kwargs:
            self.password = kwargs.get('password')
            kwargs.pop("password")
        super(FrontUser, self).__init__(*args, **kwargs)

    @property
    def password(self):
        return self._password

    @password.setter
    def password(self, newpwd):
        self._password = generate_password_hash(newpwd)

    def check_password(self, rawpwd):
        return check_password_hash(self.password, rawpwd)
class Article(db.Model):
    __tablename__ = 'article'
    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)
    tags = db.Column(db.String(100), nullable=False)
Beispiel #11
0
class UserOperationLogModel(db.Model):
    __tablename__ = 'useroperationlog'
    id = db.Column(db.String(100), primary_key=True, default=shortuuid.uuid)
    username = db.Column(db.String(30), nullable=False)
    ctime = db.Column(db.DateTime, default=datetime.datetime.now)
    operation = db.Column(db.String(100), nullable=False)
Beispiel #12
0
class UserType(db.Model):
    __tablename__ = 'usertype'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    name = db.Column(db.String(5), nullable=True)
Beispiel #13
0
class Board(db.Model):
    __tablename__ = 'board'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    boardname = db.Column(db.String(20), nullable=False)
    postnum = db.Column(db.String(200), nullable=False, default=0)
    create_time = db.Column(db.DateTime, default=datetime.datetime.now)
Beispiel #14
0
class Messageboard(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    content = db.Column(db.String(255), nullable=False)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
    mdatetime = db.Column(db.DateTime, default=datetime.now)
Beispiel #15
0
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    account = db.Column(db.String(255), nullable=True, comment='公众号中文名')
    head_url = db.Column(db.String(255), nullable=True, comment='公众号头像链接')
    summary = db.Column(db.String(500), nullable=True, comment='公众号描述')
    qr_code = db.Column(db.String(255), nullable=True, comment='公众号二维码')
    verify = db.Column(db.String(255), nullable=True, comment='公众号认证')
    spider_time = db.Column(db.DateTime, comment='上次爬取时间')

    @classmethod
    @property
    def get_biz(self):
        return WechatAccount.__biz


WechatAccount.__biz = db.Column(db.String(50),
                                nullable=True,
                                unique=True,
                                comment='公众号id')


class WechatAccountTask(db.Model):
    '''
        待爬取公众号任务id
    '''
    __tablename__ = 'wechat_account_task'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    last_publish_time = db.Column(db.DateTime,
                                  nullable=True,
                                  comment='上次抓取到的文章发布时间,做文章增量采集用')
    last_spider_time = db.Column(db.DateTime,
                                 nullable=True,
                                 comment='上次抓取时间,用于同一个公众号每隔一段时间扫描一次')
Beispiel #16
0
# -*- coding: utf-8 -*-
# @File  : models.py.py
# @Author: deeeeeeeee
# @Date  : 2017/12/11
import os
from datetime import datetime
from flask import current_app, url_for
from exts import db, login_manager
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import UserMixin, AnonymousUserMixin
from exts import Index_pic, Chapter_PDF, Chapter_video

follows = db.Table(
    'follows', db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('course_id', db.Integer, db.ForeignKey('courses.id')))


class User(UserMixin, db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.String(50), nullable=False, index=True, unique=True)
    telephone = db.Column(db.String(11), nullable=False)
    username = db.Column(db.String(50), nullable=False)
    password_hash = db.Column(db.String(128), nullable=False)
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id'))
    location = db.Column(db.String(64))
    about_me = db.Column(db.Text())
    member_since = db.Column(db.DateTime(), default=datetime.utcnow)
    last_seen = db.Column(db.DateTime(), default=datetime.utcnow)
    courses = db.relationship('Course',
                              secondary=follows,
Beispiel #17
0
class WechatArticleList(db.Model):
    '''
        公众号中微信文章列表
    '''
    __tablename__ = 'wechat_article_list'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(255), nullable=True, comment='标题')
    digest = db.Column(db.String(2000), nullable=True, comment='描述')
    url = db.Column(db.String(500), nullable=True, comment='文章链接')
    source_url = db.Column(db.String(1000), nullable=True, comment='源地址')
    cover = db.Column(db.String(255), nullable=True, comment='封面地址')
    subtype = db.Column(db.Integer, nullable=True, comment='')
    is_multi = db.Column(db.Integer, nullable=True, comment='')
    author = db.Column(db.String(255), nullable=True, comment='作者')
    copyright_stat = db.Column(db.Integer, nullable=True, comment='')
    duration = db.Column(db.Integer, nullable=True, comment='')
    del_flag = db.Column(db.Integer, nullable=True, comment='删除标志')
    type = db.Column(db.Integer, nullable=True, comment='')
    sn = db.Column(db.String(50), nullable=True, comment='', index=True)
    publish_time = db.Column(db.DateTime,
                             nullable=True,
                             comment='文章发布时间,做文章增量采集用')
    spider_time = db.Column(db.DateTime, nullable=True, comment='上次抓取时间,')
Beispiel #18
0
class Comment(db.Model):
    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)
    article_id = db.Column(db.Integer, db.ForeignKey('article.id'))
    article = db.relationship('Article', backref=db.backref('comment'))
Beispiel #19
0
    # 管理板块
    BOARDER = 0b00001000

    # 管理后台用户
    CMSUSER = 0b00010000
    # 管理前台用户
    FRONTUSER = 0b00100000
    # 管理管理员用户
    ADMINER = 0b01000000


# 权限与角色是多对多的关系,创建他们的中间表
cms_role_user = db.Table(
    "cms_role_user",
    db.Column("cms_role_id",
              db.Integer,
              db.ForeignKey('cms_role.id'),
              primary_key=True),
    db.Column("cms_user_id",
              db.Integer,
              db.ForeignKey('cms_user.id'),
              primary_key=True),
)


# 角色模型定义   继承了db.Model
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)  # 非空
Beispiel #20
0
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.String(30), nullable=False)
    username = db.Column(db.String(30), nullable=False)
    password = db.Column(db.String(100), nullable=False)
Beispiel #21
0
class Tasks(db.Model):
    task_id = db.Column(db.String(40), primary_key=True)
    task_status = db.Column(db.String(11), nullable=False)
    task_data = db.Column(db.String(5000))
    # task_owner为外键,需要使用db.ForeignKey('表名.列名')指定
    task_owner_id = db.Column(db.Integer, db.ForeignKey('user.user_id'))
Beispiel #22
0
class User(db.Model):
    __tablename__ = 'User'
    name = db.Column(db.String(16), primary_key=True)
    password = db.Column(db.String(16))
Beispiel #23
0
class Voting(db.Model):  #记录每个用户自己的投票行为
    __tablename__ = 'voting'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    vote_id = db.Column(db.Integer, db.ForeignKey('voting.id'))
    option = db.Column(db.String(100), nullable=False)
    user_id = db.Column(db.Integer, nullable=False)
class Submit(db.Model):
    __tablename__ = 'Submit'

    id = db.Column(INTEGER(11), primary_key=True)
    idStudent = db.Column(ForeignKey('Student.id'), nullable=False, index=True)
    idQuestion = db.Column(ForeignKey('Question.id', ondelete='CASCADE'),
                           nullable=False,
                           index=True)
    idAnswer = db.Column(ForeignKey('Answer.id', ondelete='CASCADE'),
                         nullable=False,
                         index=True)
    score = db.Column(INTEGER(11), nullable=False)
    answer = db.Column(String(300), nullable=False)
    correct = db.Column(String(300), nullable=False)
    segmentJson = db.Column(String(5000), nullable=False)
    spelling = db.Column(INTEGER(11), nullable=False)
    type = db.Column(INTEGER(11), nullable=False)
    result = db.Column(String(5000), nullable=False)
    time = db.Column(TIMESTAMP,
                     nullable=False,
                     server_default=text("CURRENT_TIMESTAMP"))
    info = db.Column(String(500))

    Question = db.relationship('Question')
    Student = db.relationship('Student')
    Answer = db.relationship('Answer')
Beispiel #25
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    email = db.Column(db.String(100), nullable=False, unique=True)
    username = db.Column(db.String(100), nullable=False)
    password = db.Column(db.String(100), nullable=False)

    number_of_post = db.Column(db.Integer)
    number_of_comment = db.Column(db.Integer)
    point = db.Column(db.Integer)
    grade = db.Column(db.Integer)
    register_time = db.Column(db.DateTime, default=datetime.now)
    last_login_time = db.Column(db.DateTime)
    introduction = db.Column(db.Text)
    photo = db.Column(db.String(100), nullable=True)  # 存储图片的路径

    confirmed = db.Column(db.Boolean, nullable=False, default=False)
    confirmed_on = db.Column(db.DateTime, nullable=True)

    report_time = db.Column(db.DateTime, nullable=True)  #所有的数据都是这个固定的时间
    admin = db.Column(db.Integer)  #判断是否是管理员
Beispiel #26
0
class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    telephone = db.Column(db.String(11), nullable=False)
    username = db.Column(db.String(50), nullable=False)
    password = db.Column(db.String(100), nullable=False)
Beispiel #27
0
class Report_unique(db.Model):  #为限制一个用户只能举报一个帖子/回复一次
    __tablename__ = 'report'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    user_id = db.Column(db.Integer, nullable=True)
    option = db.Column(db.Integer, nullable=True)
    option_id = db.Column(db.Integer, nullable=True)
Beispiel #28
0
class InputInterface(db.Model):

    __tablename__ = 'input_interface'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    app_id = db.Column(db.String(10))
    name = db.Column(db.String(20))
    interface_name = db.Column(db.String(100))
    interface_url = db.Column(db.String(1000), nullable=False)
    parameter_key = db.Column(db.String(5000))
    parameter_value = db.Column(db.Text)
    typed = db.Column(db.String(10), nullable=False)
    methods = db.Column(db.String(10), nullable=False)
    expected_code = db.Column(db.String(1000))
    sign = db.Column(db.String(2))
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime, default=datetime.now)
    timestamp = db.Column(db.String(13))
    domain = db.Column(db.String(500), nullable=False)
    have_headers = db.Column(db.String(2), nullable=False)

    author_id = db.Column(db.String(100),
                          db.ForeignKey('front_user.id'),
                          nullable=False)

    author = db.relationship('FrontUser', backref='interfaces')
Beispiel #29
0
class Message(db.Model):
    __tablename__ = 'article_detail'
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.Text, nullable=True)
    msg = db.Column(db.Text, nullable=True)
    uid = db.Column(db.Integer, db.ForeignKey(User.id))
Beispiel #30
0
class newCourse(db.Model):
    __tablename__ = 'newCourse'
    CID = db.Column(db.Integer, primary_key=True)  # 课程ID