from datetime import datetime from utils import option from utils.option_schemas.config import Config from sqlalchemy.orm.exc import NoResultFound from models import db from models.mixins.CommentMixin import CommentMixin from models.mixins.TimestampMixin import TimestampMixin from utils.rfc3339 import rfc3339 tags_assoc = db.Table( 'tags_assoc', db.Model.metadata, db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True), db.Column('post_id', db.Integer, db.ForeignKey('post.id'), primary_key=True)) class Category(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=False) posts = db.relationship('Post', back_populates='category', lazy=True) class Tag(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(64), nullable=False) posts = db.relationship('Post',
from sqlalchemy import Column, ForeignKey, ForeignKeyConstraint from sqlalchemy import Integer, String from models import db # 模型之间的关系不需要创建第三个模型类来实现第三张关系表的创建 # 创建用户和角色关系表 user_role = db.Table( 'user_role', Column('user_id', Integer, ForeignKey('user.id', name='user_role_fk')), Column('role_id', Integer, ForeignKey('role.id', name='user_role_pk'))) # role_table = db.Table('role_QX', # Column('role_id',Integer,ForeignKey('role.id',name='role_table_fk')), # Column('QX_id',Integer,ForeignKey('QX.id',name='role_table_pk'))) class BaseModel(db.Model): __abstract__ = True # 作用:不会创建模型的对应的表 id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(20), unique=True, nullable=False) class QX(BaseModel): __tablename__ = 'qx' class Role(BaseModel): __tablename__ = 'role' # QXS = db.relationship(QX,secondary=role_table) class User(db.Model):
CONTRACT_STATUS_DELETEPASS: u'同意撤单', CONTRACT_STATUS_PRE_FINISH: u'项目归档(预)', CONTRACT_STATUS_FINISH: u'项目归档(确认)', CONTRACT_STATUS_CHECKCONTRACT: u'审批合同通过' } STATUS_DEL = 0 STATUS_ON = 1 STATUS_CN = { STATUS_DEL: u'删除', STATUS_ON: u'正常', } framework_order_sales = db.Table( 'framework_order_searchAd_sales', db.Column('sale_id', db.Integer, db.ForeignKey('user.id')), db.Column('framework_order_id', db.Integer, db.ForeignKey('bra_searchAd_framework_order.id'))) class searchAdFrameworkOrder(db.Model, BaseModelMixin, CommentMixin, AttachmentMixin): __tablename__ = 'bra_searchAd_framework_order' id = db.Column(db.Integer, primary_key=True) agent_id = db.Column(db.Integer, db.ForeignKey('searchAd_agent.id')) # 代理公司id agent = db.relationship('searchAdAgent', backref=db.backref('agent_searchAd_order', lazy='dynamic')) client_id = db.Column(db.Integer, default=0)
# -*- coding: utf-8 -*- from models import db from sqlalchemy import Column, Integer, String, Text, ForeignKeyConstraint class BaseModel(db.Model): __abstract__ = True # 作用:不会创建作为普通模型的对应表 id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(20), nullable=False, unique=True) # 模型之间的关系不需要创建第三个模型来实现第三张关系表创建 # 创建用户和角色的关系表 user_role = db.Table('user_role', Column('user_id', Integer, db.ForeignKey('user.id')), Column('role_id', Integer, db.ForeignKey('role.id'))) role_privilege = db.Table( 'role_privilege', Column('role_id', Integer, db.ForeignKey('role.id')), Column('privilege_id', Integer, db.ForeignKey('privilege.id'))) class Privilege(BaseModel): __tablename__ = 'privilege' class Role(BaseModel): __tablename__ = 'role' privileges = db.relationship(Privilege, secondary=role_privilege,
STATUS_ON = 1 STATUS_CN = { STATUS_DEL: u'删除', STATUS_ON: u'正常', } BACK_MONEY_STATUS_END = 0 BACK_MONEY_STATUS_NOW = 1 BACK_MONEY_STATUS_CN = { BACK_MONEY_STATUS_END: u'回款完成', BACK_MONEY_STATUS_NOW: u'正在回款', } sales = db.Table( 'searchad_rebate_order_sales', db.Column('sale_id', db.Integer, db.ForeignKey('user.id')), db.Column('searchad_rebate_order_id', db.Integer, db.ForeignKey('searchad_bra_rebate_order.id'))) replace_sales = db.Table( 'searchad_rebate_order_replace_sales', db.Column('replace_sale_id', db.Integer, db.ForeignKey('user.id')), db.Column('searchad_rebate_order_id', db.Integer, db.ForeignKey('searchad_bra_rebate_order.id'))) operater_users = db.Table( 'searchad_rebate_order_users_operater', db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('searchad_rebate_order_id', db.Integer, db.ForeignKey('searchad_bra_rebate_order.id'))) designer_users = db.Table(
def __init__(self, username): self.username = username def __repr__(self): return '<User {}>'.format(self.username) def to_dict(self): return { "id": self.id, "username": self.username, } categorys = db.Table( 'categorys', db.Column('id', db.Integer, primary_key=True), db.Column('post_id', db.Integer, db.ForeignKey('post.id')), db.Column('category_id', db.Integer, db.ForeignKey('category.id'))) class Post(db.Model): id = db.Column(db.Integer, primary_key=True) body = db.Column(db.Text) timestamp = db.Column(db.DateTime, index=True, default=datetime.utcnow) user_id = db.Column(db.Integer, db.ForeignKey('user.id')) categorys = db.relationship('Category', secondary=categorys, backref=db.backref('posts', lazy='dynamic')) def __repr__(self): return '<Post {}>'.format(self.body)
STATUS_DEL: u'删除', STATUS_ON: u'正常', } BACK_MONEY_STATUS_END = 0 BACK_MONEY_STATUS_NOW = 1 BACK_MONEY_STATUS_CN = { BACK_MONEY_STATUS_END: u'回款完成', BACK_MONEY_STATUS_NOW: u'正在回款', } ECPM_CONTRACT_STATUS_LIST = [2, 4, 5] direct_sales = db.Table('searchAd_client_order_direct_sales', db.Column( 'sale_id', db.Integer, db.ForeignKey('user.id')), db.Column( 'client_order_id', db.Integer, db.ForeignKey('searchAd_bra_client_order.id')) ) agent_sales = db.Table('searchAd_client_order_agent_sales', db.Column( 'agent_sale_id', db.Integer, db.ForeignKey('user.id')), db.Column( 'client_order_id', db.Integer, db.ForeignKey('searchAd_bra_client_order.id')) ) table_medium_orders = db.Table('searchAd_client_order_medium_orders', db.Column( 'order_id', db.Integer, db.ForeignKey('searchAd_bra_order.id')), db.Column( 'client_order_id', db.Integer, db.ForeignKey('searchAd_bra_client_order.id')) )
import datetime import json def table_args(): return { 'useexisting': True, 'mysql_engine': 'InnoDB', 'mysql_charset': 'utf8' } InterfaceToMenu = db.Table( 'db_interface_to_menu', db.Column('menu_id', db.String(36), db.ForeignKey('db_menu.menu_id', ondelete='CASCADE')), db.Column('interface_id', db.String(36), db.ForeignKey('db_interface.interface_id', ondelete='CASCADE')), useexisting=True, mysql_engine='InnoDB', mysql_charset='utf8' ) InterfaceToRole = db.Table( 'db_interface_to_role', db.Column('role_id', db.String(36), db.ForeignKey('db_role.role_id', ondelete='CASCADE')), db.Column('interface_id', db.String(36), db.ForeignKey('db_interface.interface_id', ondelete='CASCADE')), useexisting=True, mysql_engine='InnoDB', mysql_charset='utf8' ) MenuToRole = db.Table( 'db_menu_to_role',
DISCOUNT_ADD: u'无折扣', } DISCOUNT_SALE = { # DISCOUNT_SELECT: u'请选择', DISCOUNT_50: u'5折', DISCOUNT_60: u'6折', DISCOUNT_70: u'7折', DISCOUNT_ADD: u'无折扣', } HEADER_BEFORE_DATE = [u"售卖类型", u"预订状态", u"展示位置", u"广告标准"] HEADER_AFTER_DATE = [u"总预订量", u"刊例单价", u"刊例总价", u"折扣", u"净价"] operater_users = db.Table( 'searchAd_order_users_operater', db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('order_id', db.Integer, db.ForeignKey('searchAd_bra_order.id'))) designer_users = db.Table( 'searchAd_order_users_designerer', db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('order_id', db.Integer, db.ForeignKey('searchAd_bra_order.id'))) planer_users = db.Table( 'searchAd_order_users_planer', db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('order_id', db.Integer, db.ForeignKey('searchAd_bra_order.id'))) class searchAdOrder(db.Model, BaseModelMixin, CommentMixin, AttachmentMixin): __tablename__ = 'searchAd_bra_order' id = db.Column(db.Integer, primary_key=True)
#!/usr/bin/env python # -*- coding:UTF-8 -*- ''' @Description: 系统相关的几张表结构 @Author: Zpp @Date: 2019-09-05 15:57:55 @LastEditTime: 2020-05-11 10:22:14 @LastEditors: Zpp ''' from models import db import datetime import json InterfaceToMenu = db.Table( 'db_interface_to_menu', db.Column('menu_id', db.String(36), db.ForeignKey('db_menu.menu_id', ondelete='CASCADE')), db.Column('interface_id', db.String(36), db.ForeignKey('db_interface.interface_id', ondelete='CASCADE'))) class Admin(db.Model): ''' 管理员 ''' __tablename__ = 'db_admin' id = db.Column(db.Integer, nullable=False, primary_key=True, index=True, autoincrement=True) admin_id = db.Column(db.String(36),
#!/usr/bin/python3 # -*- encoding: utf-8 -*- from models import db from datetime import datetime class Poeter(db.Model): __tablename__ = 'poeter' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(100), nullable=False) state = db.Column(db.String(10)) poetry_tag = db.Table('poetry_tag', db.Column('poetry_id', db.Integer, db.ForeignKey('poetry.id'), primary_key=True), db.Column('category_id', db.Integer, db.ForeignKey('poetry_category.id'), primary_key=True) ) class PoetryCategory(db.Model): __tablename__ = 'poetry_category' id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(30), nullable=False) class Poetry(db.Model): __tablename__ = 'poetry' id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(200), nullable=False) create_time = db.Column(db.DateTime, default=datetime.now) content_path = db.Column(db.Text)
from models import db # 中間テーブル battle_result_members = db.Table( 'battle_result_members', db.metadata, db.Column('battle_result_id', db.Integer, db.ForeignKey('battle_results.id')), db.Column('battle_member_id', db.Integer, db.ForeignKey('battle_members.id')))
print "initializing messages" if not MessagesComponent.query.get(1): db.session.add(MessagesComponent()) db.session.commit() def get_dm_messages(): MessagesComponent.query.get(DM_MESSAGES_ID) recipients_table = db.Table( 'message_recipients', db.Column('message_id', db.Integer, db.ForeignKey('message.id'), primary_key=True), db.Column('recipient_id', db.Integer, db.ForeignKey('messages_component.id'), primary_key=True), ) class MessagesComponent(db.Model): id = db.Column(db.Integer, primary_key=True) class Message(db.Model): id = db.Column(db.Integer, primary_key=True) content = db.Column(db.String(128))
FIFTY = 50 SEVENTY_FIVE = 75 HUNDERD = 100 ERROR = 101 OCCUPY_RESOURCE_PRECENT_CN = { EMPTY: "", TWENTY_FIVE: "twenty-five", FIFTY: "fifty", SEVENTY_FIVE: "seventy-five", HUNDERD: "hundred", ERROR: "error" } ad_position_unit_table = db.Table( 'searchAd_ad_position_unit', db.Column('position_id', db.Integer, db.ForeignKey('ad_position.id')), db.Column('unit_id', db.Integer, db.ForeignKey('ad_unit.id'))) class searchAdMedium(db.Model, BaseModelMixin, AttachmentMixin, CommentMixin): __tablename__ = 'searchAd_medium' id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100)) abbreviation = db.Column(db.String(100)) owner_id = db.Column(db.Integer, db.ForeignKey('team.id')) owner = db.relationship('Team', backref=db.backref('searchAd_mediums', lazy='dynamic')) tax_num = db.Column(db.String(100)) # 税号 address = db.Column(db.String(100)) # 地址
#!/usr/bin/env python # -*- coding:UTF-8 -*- ''' @Description: 系统相关的几张表结构 @Author: Zpp @Date: 2019-09-05 15:57:55 @LastEditTime: 2020-03-31 09:47:39 @LastEditors: Zpp ''' from models import db import datetime MenuToRole = db.Table( 'db_menu_to_role', db.Column('role_id', db.String(36), db.ForeignKey('db_role.role_id', ondelete='CASCADE')), db.Column('menu_id', db.String(36), db.ForeignKey('db_menu.menu_id', ondelete='CASCADE'))) InterfaceToRole = db.Table( 'db_interface_to_role', db.Column('role_id', db.String(36), db.ForeignKey('db_role.role_id', ondelete='CASCADE')), db.Column('interface_id', db.String(36), db.ForeignKey('db_interface.interface_id', ondelete='CASCADE'))) class Admin(db.Model): ''' 管理员 '''
from models import db from datetime import datetime likes = db.Table( 'likes', db.Column('post_id', db.Integer, db.ForeignKey('post.id'), primary_key=True), db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True)) # Comments = db.Table('Comments', # db.Column('post_id', db.Integer, db.ForeignKey('post.id'), primary_key=True), # db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True), # db.Column('commenttext',db.String(50)) # ) class Comment(db.Model): __tablename__ = 'Comment' post_id = db.Column(db.Integer, db.ForeignKey('post.id'), primary_key=True, unique=False) user_id = db.Column(db.Integer, db.ForeignKey('user.id'), primary_key=True, unique=False) comments = db.Column(db.String(100))
from enum import Enum from models import db from models.base import UserMixin, SuspendMixin from models.authorization.base_user import BaseUser user_cuisines = db.Table( 'user_cuisines', db.Column('cuisine_id', db.BigInteger, db.ForeignKey('cuisines.id'), primary_key=True), db.Column('user_id', db.BigInteger, db.ForeignKey('users.id'), primary_key=True)) user_types = db.Table( 'user_types', db.Column('type_id', db.BigInteger, db.ForeignKey('restaurant_types.id'), primary_key=True), db.Column('user_id', db.BigInteger, db.ForeignKey('users.id'), primary_key=True)) user_ingredients = db.Table( 'user_ingredients', db.Column('ingredient_id',
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 20/6/5 19:07 # @Author : xjm # @Site : # @File : user.py # @Software: PyCharm from werkzeug.security import check_password_hash from models import db from datetime import datetime # 模型之间的关系不需要创建第三个模型类实现第三张关系表创建 # 创建用户和角色的关系表 user_role = db.Table('t_user_role', db.Column('uid', db.Integer, db.ForeignKey('t_user.id', name='user_fk')), db.Column('rid', db.Integer, db.ForeignKey('t_role.id', name='role_fk'))) class BaseModel(db.Model): __abstract__ = True # 作用:不会作为普通模型的创建对应的表(抽象模型) id = db.Column(db.Integer, primary_key=True, autoincrement=True) name = db.Column(db.String(20), unique=True, nullable=False) # 继承BaseModel: class Role(BaseModel): # 用户角色 __tablename__ = 't_role' # 设置数据库中的表名(默认为当前类名的小写) def __repr__(self): return '<Role %r>' % self.name
def init_knowledge(): print "initializing knowledge" db.session.add(Knowledge(name='Basic Info', content='trololol')) for i in range(3): db.session.add( Knowledge(name='More Basic Info: ' + str(i), content='infofofofof')) db.session.commit() def list_knowledge(): return Knowledge.query.all() knowledge_to_character = db.Table( 'knowledge_to_component', db.Column('knowledge_id', db.Integer, db.ForeignKey('knowledge.id')), db.Column('character_id', db.Integer, db.ForeignKey('character.id'))) class Knowledge(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.Text, default='New Knowledge') content = db.Column(db.Text, default='content...') owners = db.relationship('Character', secondary=knowledge_to_character, backref='knowledge') def __serialize__(self, full=True): if full: return { 'id': self.id,