Beispiel #1
0
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    mailaddr = db.Column(db.String(20), nullable=False)
    username = db.Column(db.String(50), nullable=False)
    stuid = db.Column(db.String(11), nullable=False)
    password = db.Column(db.String(100), nullable=False)
    # 引入外键grade.id
    grade_id = db.Column(db.Integer, db.ForeignKey('grade.id'))
    # 班级-学生一对多关系
    grade = db.relationship(
        'Grade', backref=db.backref('users'),
        foreign_keys=[grade_id])  #grade_id被指定为多个外键,建立关系时要指明foreign_keys


### 学生-作业多对多关系中间表
tb_user_task = db.Table(
    'tb_user_task', db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('task_id', db.Integer, db.ForeignKey('task.id')))


### 作业(发布)表
class Task(db.Model):
    __tablename__ = 'task'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    taskname = db.Column(db.String(40), nullable=False)
    deadline = db.Column(db.String(40), nullable=False)
    # 引入外键grade.id
    grade_id = db.Column(db.Integer, db.ForeignKey('grade.id'))
    # 班级-任务一对多关系
    grade = db.relationship('Grade',
                            backref=db.backref('tasks'),
                            foreign_keys=[grade_id])
Beispiel #2
0
    COMMENTER = 0b00000100
    #     管理板块的权限
    BOARDER = 0b00001000
    #     管理前台用户的权限
    FRONTUSER = 0b00010000
    #     管理后台用户的权限
    CMSUSER = 0b00100000
    #     管理后台管理员权限
    ADMINER = 0b01000000


cms_role_user = db.Table(
    'cms_role_user',
    db.Column('cms_role',
              db.Integer,
              db.ForeignKey('cms_role.id'),
              primary_key=True),
    db.Column('cms_user',
              db.Integer,
              db.ForeignKey('cms_user.id'),
              primary_key=True))


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(100), nullable=False)
    create_time = db.Column(db.DateTime, default=datetime.now)
    permissions = db.Column(db.Integer, nullable=False)

    users = db.relationship('CMSUser',
Beispiel #3
0

class User(db.Model):
    __tablename__ = "user"
    id = db.Column(db.INTEGER, primary_key=True, autoincrement=True)
    username = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(50))

    def __repr__(self):
        return "<User(username : %s )>" % self.username


article_tag_table = db.Table(
    'article_tag',
    db.Column("article_id",
              db.INTEGER,
              db.ForeignKey('article.id'),
              primary_key=True),
    db.Column("tag_id", db.INTEGER, db.ForeignKey('tag.id'), primary_key=True))


class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.INTEGER, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), nullable=False)
    author_id = db.Column(db.INTEGER, db.ForeignKey('user.id'))

    author = db.relationship('User', backref=db.backref('articles'))
    tags = db.relationship('Tag',
                           backref='articles',
                           secondary=article_tag_table)
Beispiel #4
0
from exts import db
from datetime import datetime
from werkzeug.security import generate_password_hash, check_password_hash

# class Followers(db.Model):
#     __tablename__ = 'followers'
#     follower_id = db.Column(db.Integer,db.ForeignKey('userinfo.id'),primary_key=True)
#     followed_id = db.Column(db.Integer,db.ForeignKey('userinfo.id'),primary_key=True)
followers = db.Table(
    'followers',
    db.Column('follower_id',
              db.Integer,
              db.ForeignKey('userinfo.id'),
              primary_key=True),
    db.Column('followed_id',
              db.Integer,
              db.ForeignKey('userinfo.id'),
              primary_key=True))


class User(db.Model):
    __tablename__ = 'userinfo'
    id = db.Column(db.Integer, primary_key=True,
                   autoincrement=True)  #autoincrement自增长
    uname = db.Column(db.String(50), nullable=False)
    passwd = db.Column(db.String(50), nullable=False)
    #posts = db.relationship('Post', backref = 'author', lazy = 'dynamic')
    followed = db.relationship('User',
                               secondary=followers,
                               primaryjoin=(followers.c.follower_id == id),
                               secondaryjoin=(followers.c.followed_id == id),
Beispiel #5
0
from exts import db
from werkzeug.security import generate_password_hash, check_password_hash
from flask_login import LoginManager, UserMixin
import datetime

#oj
import utils

# TODO(roy4801): Rename this to problem_tag_relation
relations = db.Table(
    'relations',
    db.Column('problem', db.Integer, db.ForeignKey('problem.problem_id')),
    db.Column('tag', db.Integer, db.ForeignKey('tag.tag_id')))


# build the tables
class Problem(db.Model):
    __tablename__ = 'problem'
    __table_args__ = {'mysql_collate': 'utf8_general_ci'}
    problem_id = db.Column(db.Integer,
                           primary_key=True,
                           nullable=False,
                           unique=True)
    problemName = db.Column(db.String(100), nullable=False, unique=False)  # 名稱
    uid = db.Column(db.Integer, nullable=False, unique=False)  # problemsetter
    info = db.Column(db.JSON, nullable=False)  # 內容
    build_time = db.Column(db.DateTime,
                           nullable=False,
                           default=datetime.datetime.now())  # 建立時間

    # Relation
Beispiel #6
0
class CMSPermission(object):
    ALL_PERMISSION = 0b11111111  # 所有权限
    VISITOR = 0b00000001  # 访问者
    POSTER = 0b00000010  # 帖子管理
    COMMENTER = 0b00000100  # 评论管理
    BOARDER = 0b00001000  # 板块管理
    FRONTUSER = 0b00010000  # 前台用户管理
    CMSUSER = 0b00100000  # 后台用户管理
    ADMINER = 0b01000000  # 可以管理后台管理员


cms_role_user = db.Table(
    'cms_role_user',
    db.Column('cms_rold_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))


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',
Beispiel #7
0
class Author(db.Model):
    __tablename__ = 'author'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    author = db.Column(db.String(100), nullable=False)
    gender = db.Column(db.String(100), nullable=False)

    def __init__(self):
        pass


article_tag = db.Table(
    'article_tag', db.metadata,
    db.Column('article_id',
              db.Integer,
              db.ForeignKey('article.id'),
              nullable=False,
              primary_key=True),
    db.Column('tag_id',
              db.Integer,
              db.ForeignKey('tags.id'),
              nullable=False,
              primary_key=True))


class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50))
    author = db.Column(db.String(50))
    # author = db.Column(db.String(50), db.ForeignKey('author.author' , name=))
    time = db.Column(db.DateTime, default=datetime.now())
    content = db.Column(db.Text, nullable=False)
Beispiel #8
0
# -*- coding: utf-8 -*-
# 开发人员   :黎工
# 开发时间   :2020/12/3  15:21
# 文件名称   :news_model.PY
# 开发工具   :PyCharm
from apps.models import BaseModel
from exts import db
import time

# 第三张表(多对多)news_tag
news_tag = db.Table(
    'news_tag', BaseModel.metadata,
    db.Column('news_id', db.ForeignKey('news.id'), primary_key=True),
    db.Column('tag_id', db.ForeignKey('tag.id'), primary_key=True))


# 标签表
class Tag(BaseModel):
    __tablename__ = 'tag'
    tname = db.Column(db.String(10), nullable=False)

    def __init__(self, json):
        self.tname = json['tname']

    def __repr__(self):
        return self.tname

    def to_json(self):
        json = {
            'id': int(self.id),
            'date_time': self.date_time.strftime('%Y-%m-%d %H:%M:%S'),
Beispiel #9
0
from exts import db

# 多对多关系,需要创建一张辅助表
article_tag = db.Table('article_tag', 
db.Column('article_id', db.Integer, db.ForeignKey('article.id')),
db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'))
)

class Tag(db.Model):
    __tablename__ = 'tag'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(100), nullable=False)

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)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
    # 使用secondary确认多对多关系
    tags = db.relationship('Tag', secondary=article_tag, backref='articles')
    # author = db.relationship('User', backref=db.backref('articles'))


class User(db.Model):
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(100), nullable=False)
    articles = db.relationship('Article', backref='user', lazy='select')
Beispiel #10
0
# encoding: utf-8

from exts import db
from datetime import datetime


# 笔记与标签的中间表
note_tag = db.Table('note_tag',
                       db.Column('note_id', db.Integer, db.ForeignKey('note.id'), primary_key=True),
                       db.Column('tag', db.String(100), db.ForeignKey('tag.tag'), primary_key=True))


# 笔记模型
class Note(db.Model):
    __tablename__ = 'note'
    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)
    tags = db.relationship('Tag', secondary=note_tag, backref=db.backref('notes', order_by=(id.desc(), create_time.desc())))


# 标签模块
class Tag(db.Model):
    __tablename__ = 'tag'
    tag = db.Column(db.String(100), primary_key=True)
    text = db.Column(db.String(200), nullable=False)

Beispiel #11
0
    FRONTUSER = 0b00010000
    # 6. 管理后台用户的权限
    CMSUSER = 0b00100000
    # 7. 管理后台管理员的权限
    ADMINER = 0b01000000


# TODO: 用户权限中间关联表
cms_users_role = db.Table(
    'cms_users_role',
    db.Column('id',
              db.Integer,
              primary_key=True,
              autoincrement=True,
              default=1),
    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.Column('create_time', db.DATETIME, default=datetime.now))


# TODO: 权限角色
class CmsRole(db.Model):
    __tablename__ = 'cms_role'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(30), nullable=False)
    desc = db.Column(db.TEXT, nullable=True)
    DEVELOPER = 0b11111111  # 开发者


class LockStatus(object):
    """
    定义门锁状态类型
    """
    OPEN = 1
    CLOSE = 0


user_lock = db.Table(
    'user_lock',
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True),
    db.Column('locks_id',
              db.Integer,
              db.ForeignKey('locks.id'),
              primary_key=True))


class UserModel(db.Model):
    """
    用户数据库模型
    """
    __tablename__ = 'user'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    openID = db.Column(db.String(100), nullable=False, unique=True)
    nickName = db.Column(db.String(100), nullable=False)
    # 学生信息
Beispiel #13
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 #14
0
#encoding: utf-8

from exts import db
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime

Enroll = db.Table(
    'Enroll',
    db.Column('userName',
              db.Unicode(20),
              db.ForeignKey('User.userName'),
              primary_key=True),
    db.Column('courseId',
              db.CHAR(8),
              db.ForeignKey('CourseInfo.courseId'),
              primary_key=True),
)


class User(db.Model):
    __tablename__ = 'User'
    userName = db.Column(db.Unicode(20), primary_key=True)
    userEmail = db.Column(db.Unicode(64), nullable=False)
    userPhone = db.Column(db.CHAR(11), nullable=False)
    userPass = db.Column(db.Unicode(100), nullable=False)
    signUpDate = db.Column(db.DateTime, default=datetime.now(), nullable=False)
    lastLogin = db.Column(db.DateTime, nullable=False)
    studyDuration = db.Column(db.Float, nullable=False)
    frozenDuration = db.Column(db.Float, nullable=False)
    frozenReason = db.Column(db.Text)
    courseCount = db.relationship('CourseInfo',
Beispiel #15
0
from exts import db
role_admin = db.Table(
    'tb_role_admin',
    db.Column('role_id',
              db.Integer,
              db.ForeignKey('tb_role.id', ondelete='CASCADE'),
              primary_key=True),
    db.Column('admin_id',
              db.Integer,
              db.ForeignKey('tb_admin.id', ondelete='CASCADE'),
              primary_key=True))
from exts import db
resources_relationships = db.Table(
    'tb_resources_relationships',
    db.Column('resources_id',
              db.Integer,
              db.ForeignKey('tb_resources.id', ondelete='CASCADE'),
              primary_key=True),
    db.Column('object_id',
              db.Integer,
              db.ForeignKey('tb_postmeta.id', ondelete='CASCADE'),
              primary_key=True))
Beispiel #17
0
class User_power(object):
    common = 1
    admin = 255
    desc_temp = {
        common: (u'普通管理员', u'拥有管理前台用户和帖子等权限'),
        admin: (u'超级管理员', u'拥有所有权限,可进行任何操作'),
    }


# 中间表
user_role_table = db.Table(
    'cms_user_role',
    Base.metadata,
    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),
)


# CMS用户权限组
class CMSRole(Base):
    __tablename__ = 'cms_role'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    desc = db.Column(db.String(100))
    power = db.Column(db.Integer, default=User_power.common)
    create_time = db.Column(db.DateTime, default=datetime.now)
Beispiel #18
0
from datetime import datetime
from models.cms.accountmodels import CMSUser
from operator import or_


# 权限表(不存储数据库的)
class FrontPermission(object):
    PUBLIC = 0x01
    VIP = 0x02

    PERMISSION_MAP = {PUBLIC: ('public', '公共用户'), VIP: ('vip', 'VIP学生')}


# 用户-角色多对多的关系表
user_role = db.Table(
    'front_user_role',
    db.Column('user_id', db.String(30), db.ForeignKey('front_user.id')),
    db.Column('role_id', db.Integer, db.ForeignKey('front_role.id')))


# 前台用户表
class FrontUser(db.Model, BaseModel):
    __tablename__ = 'front_user'

    id = db.Column(db.String(30), primary_key=True)
    username = db.Column(db.String(100), nullable=False)
    telphone = db.Column(db.String(20), nullable=False, unique=True)
    email = db.Column(db.String(100), unique=True)
    _password = db.Column(db.String(200), nullable=False)
    joined_time = db.Column(db.DateTime, default=datetime.now())
    gender = db.Column(db.SMALLINT, default=0)
    points = db.Column(db.Integer, default=0)  # 积分
Beispiel #19
0
    STUDENT = 3


class Role(db.Model):
    # 用户角色表
    __tablename__ = 'role'
    # 角色名称
    name = db.Column(db.String(50), nullable=False)
    # 角色描述
    desc = db.Column(db.String(200), nullable=True)
    # 用户权限(主键)
    permission = db.Column(db.Integer, nullable=False, primary_key=True)


user_club_table = db.Table(
    'user_club_table',
    db.Column('user_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('club_id', db.Integer, db.ForeignKey('club.id')))


class User(db.Model):
    # 用户信息表
    __tablename__ = 'user'
    # 用户id
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    #  一下是必须填写的信息
    # 用户姓名
    username = db.Column(db.String(50), nullable=False)
    # 用户学校
    schoolname = db.Column(db.String(100), nullable=True)
    # 年龄
    userage = db.Column(db.Integer, nullable=True)
Beispiel #20
0
    # 2.管理帖子权限
    POSTER=        0b00000010
    # 3.管理评论权限
    COMMENTER=     0b00000100
    # 4.管理板块权限
    BOARDER=       0b00001000
    # 5.管理前台用户权限
    FRONTUSER=     0b00010000
    # 6.管理后台用户权限
    CMSUSER=       0b00100000
    # 7.管理后台管理员权限
    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)
)

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(300),nullable=False)
    create_time=db.Column(db.DateTime,default=datetime.now)
    permissions=db.Column(db.Integer,default=CMSPermission.VISITOR)
    #cmsrole.(users) 权限对应用户 参考表 (cms_role_user) , 回调自己 users.(roles) 希望获得对于权限
    users=db.relationship("CMSUser",secondary=cms_role_user,backref='roles')


Beispiel #21
0
from exts import db


class User(db.Model):
    __tablename__ = 'user'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    username = db.Column(db.String(20), nullable=False)
    email = db.Column(db.String(50), nullable=False)


article_tag_table = db.Table(
    'article_tag',
    db.Column('article_id',
              db.Integer,
              db.ForeignKey('article.id'),
              primary_key=True),
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True))


class Article(db.Model):
    __tablename__ = 'article'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(20), nullable=False)
    content = db.Column(db.Text)

    author_id = db.Column(db.Integer, db.ForeignKey('user.id'))

    author = db.relationship('User', backref='articles')
Beispiel #22
0
#encoding: utf-8

# BSD license
# Written by Santiego([email protected])

from exts import db, get_site_title, exts_verify_link, judge_url_type
from datetime import datetime
from config import USER_CODE, APP_CONFIG
from werkzeug.security import generate_password_hash, check_password_hash
from flask import current_app, request
import hashlib
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer

tabel_voters = db.Table(
    'votes', db.Column('voter_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('voted_id', db.Integer, db.ForeignKey('answer.id')))

tabel_theme = db.Table(
    'themes', db.Column('theme_id', db.Integer, db.ForeignKey('theme.id')),
    db.Column('question_id', db.Integer, db.ForeignKey('question.id')))

table_tag_to_question = db.Table(
    'table_tag_to_question',
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')),
    db.Column('question_id', db.Integer, db.ForeignKey('question.id')))

table_user_to_tag = db.Table(
    'table_user_to_tag',
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id')),
    db.Column('user_id', db.Integer, db.ForeignKey('user.id')))
Beispiel #23
0
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(50), nullable=False)  #商品名称
    goodsMt_id = db.Column(db.Integer, db.ForeignKey('goods_max_type.id'))
    type = db.relationship('GoodsMT_Model', backref='types')

    def to_dic(self):
        d = {'name': self.name, 'id': self.id}
        return d


cart_goods_middle = db.Table(
    'cart_goods_middle',  #购物车商品中间表
    db.Column('goods_id',
              db.Integer,
              db.ForeignKey('goods.id'),
              primary_key=True),
    db.Column('cart_id',
              db.Integer,
              db.ForeignKey('cart.id'),
              primary_key=True),
    db.Column('number', db.Integer, default=1))


class CartModel(db.Model):  #购物车模型
    __tablename__ = 'cart'
    id = db.Column(db.Integer,
                   primary_key=True,
                   nullable=False,
                   autoincrement=True)  #唯一标识
    goods_id = db.Column(db.Integer, db.ForeignKey('goods.id'))  #商品外键
    user_id = db.Column(db.String(200),
Beispiel #24
0
    VISITOR = 0b00000001
    # 2.管理帖子权限
    POSTER = 0b00000010
    # 3.管理评论的权限
    COMMENTER = 0b00000100
    # 4.管理模块的权限
    BOARDER = 0b00001000
    # 5.管理前台的权限
    FRONTUSER = 0b00010000
    # 6.管理后台的权限
    CMSUSER = 0b00100000


cms_role_user = db.Table(
    'cms_role_user',
    db.Column("cms_role_id", db.Integer, db.ForeignKey("cms_role.id")),
    db.Column("cms_user_id", db.Integer, db.ForeignKey("cms_user.id")),
)


class CMSRole(db.Model):
    __name__ = "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=False)
    cteate_time = db.Column(db.DateTime, default=datetime.now)
    permissions = db.Column(db.Integer, default=CMSPersmission.VISITOR)

    users = db.relationship("CMSUser",secondary=cms_role_user,backref="roles")

Beispiel #25
0
from exts import db
from flask_sqlalchemy import *

# user_user = db.Table(
# 	'user_user',
# 	db.Column('user_id_following', db.Integer, db.ForeignKey('user.id'), primary_key=True),
# 	db.Column('user_id_followed', db.Integer, db.ForeignKey('user.id'), primary_key=True)
# )

article_user = db.Table(
    'article_user',
    db.Column('article_id',
              db.Integer,
              db.ForeignKey('article.id'),
              primary_key=True),
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True))

essay_user = db.Table(
    'essay_user',
    db.Column('essay_id',
              db.Integer,
              db.ForeignKey('Essays.id'),
              primary_key=True),
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True))
Beispiel #26
0
from werkzeug.security import check_password_hash
from flask_login import UserMixin

from utils.decorators import commit
from exts import login
from exts import db


@login.user_loader
def load_user(id):
    return User.query.get(str(id))


# Association table
followers_table = db.Table("followers",
    db.Column("follower_id", db.Integer, db.ForeignKey("user.id")),
    db.Column("followed_id", db.Integer, db.ForeignKey("user.id"))
)


class User(db.Model, UserMixin):
    """User table for database

    Notes
    -----
    One to many relationship with `Posts`.
    """

    # Table fields
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), index=True)
    usertag = db.Column(db.String(20), index=True)
Beispiel #27
0
    # 2. 管理帖子、评论权限
    POSTER = 0b00000010
    # 3. 管理用户的权限
    USER = 0b00000100
    # 4. 管理板块的权限
    BOARDER = 0b00001000
    # # 5. 待定
    # FRONTUSER = 0b00010000
    # # 6. 待定
    # CMSUSER = 0b00100000
    # # 7. 待定
    # ADMINER = 0b01000000

role_user = db.Table(
    'role_user',
    db.Column('role_id', db.Integer, db.ForeignKey('role.id'), primary_key=True),
    db.Column('user_id', db.String(100), db.ForeignKey('user.id'), primary_key=True)
)


class Role(db.Model):
    __tablename__ = '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=Permission.VISITOR)
    users = db.relationship('User', secondary=role_user, backref='roles')


class BannerModel(db.Model):
from exts import db
term_relationships = db.Table(
    'tb_term_relationships',
    db.Column('term_taxonomy_id',db.Integer,db.ForeignKey('tb_term_taxonomy.id',ondelete = 'CASCADE'),primary_key=True),
    db.Column('object_id',db.Integer,db.ForeignKey('tb_postmeta.id',ondelete = 'CASCADE'),primary_key=True)
)
Beispiel #29
0
    OPERASTOR = 1
    MIDDLEOPEATER = 4
    HIGHSTRATOR = 64
    PERMISSION_MAP = {
        ADMINISTRATOR: (u'超级管理员权限', u'拥有至高无上的权利'),
        HIGHSTRATOR: (u'高级管理员', u'拥有管理模块的权利'),
        OPERASTOR: (u'普通管理员', u'可以操作前台用户,帖子等'),
        MIDDLEOPEATER: (u'中低级管理员', u'可以操作帖子评论的权限')
    }


cms_user_role = db.Table(
    'cms_user_role',
    db.Column('user_id',
              db.Integer,
              db.ForeignKey('user.id'),
              primary_key=True),
    db.Column('cmsrole_id',
              db.Integer,
              db.ForeignKey('cmsroles.id'),
              primary_key=True))


class CMSRoles(db.Model):
    __tablename__ = 'cmsroles'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    settime = db.Column(db.DateTime, default=datetime.datetime.now)
    name = db.Column(db.String(100), nullable=False)
    desc = db.Column(db.String(100), nullable=True)
    permissions = db.Column(db.Integer,
                            default=CMSPermission.OPERASTOR,
                            nullable=False)
Beispiel #30
0
# -*- coding : utf-8 -*-
from app import login_manager
from exts import db
from datetime import datetime
from flask_login import UserMixin
from werkzeug.security import generate_password_hash, check_password_hash
from logger import Logger

logger = Logger(logger='parksys.models').getlog()

sys_user_park = db.Table(
    'sys_user_park',
    db.Column('park_info_id',
              db.String(64),
              db.ForeignKey('park_info.id'),
              primary_key=True),
    db.Column('sys_user_id',
              db.String(64),
              db.ForeignKey('sys_user.id'),
              primary_key=True))


class ParkInfo(db.Model):
    """
    定义停车场基本信息表
    """
    __tablename__ = 'park_info'
    id = db.Column(db.String(64), primary_key=True, comment='停车场ID')
    name = db.Column(db.String(20), nullable=False, comment='停车场名字')
    contact = db.Column(db.String(10), comment='联系人')
    mobile = db.Column(db.String(15), comment='联系电话')