__Note__: 角色表 """ from flask import request from sqlalchemy import or_ __author__ = '西瓜哥' from app.ext import db from app.models.base import Base from app.libs.helper import time_now from .permission import Permission from .menu import Menu role_permission = db.Table( "role_permission", db.Column('permission_id', db.Integer, db.ForeignKey('permissions.id'), primary_key=True), db.Column('role_id', db.Integer, db.ForeignKey('roles.id'), primary_key=True), ) class Role(Base): """ 角色表 """ __tablename__ = "roles" name = db.Column(db.String(length=20), nullable=False, comment="角色名", unique=True) label = db.Column(db.String(length=50), nullable=False, comment="角色介绍", unique=True) permissions = db.relationship('Permission', backref="roles", lazy="dynamic", secondary=role_permission)
name = db.Column(db.String(64), index=True, unique=True, nullable=True) # 类名小写.关联字段 cid = db.Column(db.Integer, db.ForeignKey(Cate.cid)) cate = db.relationship('Cate', back_populates='shops') # 多对多肯定会有第三张表 # 角色 === 权限 增删该查的权限 # 管理员角色 增删改查的权限 # 普通用户 增查的权限 """ 参数 表的名称 """ relation = db.Table('role_permission_relation', db.Column('id', db.Integer, primary_key=True), db.Column('per_id', db.Integer, db.ForeignKey('permission.per_id')), db.Column('role_id', db.Integer, db.ForeignKey('role.role_id')) ) # secondary 用于多对多, 指向第三张表 class Role(db.Model): role_id = db.Column(db.Integer, primary_key=True) role_name = db.Column(db.String(64), nullable=False, index=True, unique=True) desc = db.Column(db.Text) permissions = db.relationship('Permission', secondary=relation) def __init__(self, role_name, desc): self.role_name = role_name self.desc = desc
""" created by hzwlxy at 2018/7/4 10:56 __author__: 西瓜哥 __QQ__ : 120235331 __Note__: """ from sqlalchemy import or_ __author__ = '西瓜哥' from app.ext import db from app.models.base import Base document_tag = db.Table( "document_tag", db.Column('document_id', db.Integer, db.ForeignKey('documents.id'), primary_key=True), db.Column('tag_id', db.Integer, db.ForeignKey('tags.id'), primary_key=True), ) class Tag(Base): """ 标签表 """ __tablename__ = "tags" title = db.Column(db.String(255), nullable=False, comment="标签文字") type = db.Column(db.String(20), nullable=False, default="document", comment="标签类型") @classmethod def _query_search(cls, query, _keyword): if _keyword is not None:
import datetime from bson import ObjectId from app.ext import db def objectid(): return str(ObjectId()) t_org_equ = db.Table( 'org_equ', db.Column('org_id', db.ForeignKey('organization.id'), index=True), db.Column('equ_id', db.ForeignKey('equipment.id'), index=True), db.UniqueConstraint('org_id', 'equ_id', name='unix_org_equ')) t_user_org = db.Table( 'user_org', db.Column('user_id', db.ForeignKey('user.id'), index=True), db.Column('org_id', db.ForeignKey('organization.id'), index=True), db.UniqueConstraint('user_id', 'org_id', name='unix_user_org')) t_user_work = db.Table( 'user_work', db.Column('user_id', db.ForeignKey('user.id'), index=True), db.Column('workorder_id', db.ForeignKey('workorder.id'), index=True), db.UniqueConstraint('user_id', 'workorder_id', name='unix_user_work')) class Alarm(db.Model): __tablename__ = 'alarm' id = db.Column(db.String(24), default=objectid, primary_key=True)
# coding=utf-8 from __future__ import absolute_import from passlib.hash import pbkdf2_sha256 from app.ext import db, login_manager from app.exception import SessionExpired from flask_login import UserMixin, AnonymousUserMixin, current_user from sqlalchemy.sql import expression users_roles = db.Table('users_role', db.Column('user_id', db.Integer(), db.ForeignKey('users.id')), db.Column('role_id', db.Integer(), db.ForeignKey('roles.id'))) class Role(db.Model): __tablename__ = 'roles' id = db.Column(db.Integer(), autoincrement=True, primary_key=True) name = db.Column(db.String(90), unique=True) description = db.Column(db.String(28)) def __repr__(self): return '<Model Role {}>'.format(self.name) class User(db.Model, UserMixin): __tablename__ = 'users' id = db.Column(db.Integer(), autoincrement=True, primary_key=True) name = db.Column(db.String(64))
import datetime from bson import ObjectId from sqlalchemy import create_engine, MetaData from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import scoped_session, sessionmaker from app.ext import db def objectid(): return str(ObjectId()) t_role_menu = db.Table( 'role_menu', db.Column('role_id', db.String(24), db.ForeignKey('role.id')), db.Column('menu_id', db.String(24), db.ForeignKey('menu.id')), db.UniqueConstraint('menu_id', 'role_id', name='uix_role_menu')) t_facility_knowledge = db.Table( 'facility_knowledge', db.Column('knowledge_id', db.String(24), db.ForeignKey('knowledge.id')), db.Column('facility_id', db.String(24), db.ForeignKey('facility.id')), db.UniqueConstraint('knowledge_id', 'facility_id', name='uix_facility_knowledge')) t_user_ins = db.Table( 'user_ins', db.Column('user_id', db.String(24), db.ForeignKey('user.id')), db.Column('ins_id', db.String(24), db.ForeignKey('ins.id')), db.UniqueConstraint('user_id', 'ins_id', name='uix_ins_user')) t_community_ins = db.Table(
def price_with_iva(self): final.price = self.price * ((self.iva / 100) + 1) return pricefinal def discount(self, quantity): if self.stock > quantity: self.stock -= quantity else: raise Exception("Quantity can´t be more than stock") roles_users = db.Table( 'roles_users', db.Column('role_id', db.Integer, db.ForeignKey('role.id'), primary_key=True), db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True)) class User(db.Model): id = Column(Integer, nullable=False, primary_key=True) username = Column(String(50), unique=True, nullable=False) password_hash = Column(String(255), unique=True, nullable=False) name = Column(String(50), nullable=False) email = Column(String(50), nullable=False) admin = Column(Boolean(), default=False) role = relationship("Role", backref="user",