Ejemplo n.º 1
0
from .users import Users
from .posts import Posts
from app.exts import db

#添加用户与帖子的收藏中间表
collections = db.Table(
    "collections",
    db.Column('user_id', db.Integer, db.ForeignKey("users.id")),
    db.Column('posts_id', db.Integer, db.ForeignKey("posts.id")),
)
Ejemplo n.º 2
0
import datetime

from app.exts import db

collection = db.Table(
    'collection',
    db.Column('book_id',
              db.Integer,
              db.ForeignKey('book.id'),
              primary_key=True),
    db.Column('publisher_id',
              db.Integer,
              db.ForeignKey('publisher.id'),
              primary_key=True),
)


class Author(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(20), unique=True)
    age = db.Column(db.Integer, default=10)
    sex = db.Column(db.String(20), default=0)
    email = db.Column(db.String(50))


class Book(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(50), unique=True)
    date = db.Column(db.DateTime, default=datetime.datetime.now)
    author_id = db.Column(db.Integer, db.ForeignKey('author.id'))
    author = db.relationship('Author', backref=db.backref('books'))
Ejemplo n.º 3
0
    # permission = db.relationship('permission',backref='m_manager')
    project = db.relationship('Project',
                              secondary='manager_project',
                              backref='m_manager')
    permission = db.relationship('Permission',
                                 secondary='manager_permission',
                                 backref='m_manager')
    language = db.relationship('Language',
                               secondary='manager_language',
                               backref=db.backref('m_manager', lazy='dynamic'))


manager_project = db.Table(
    'manager_project',
    # 第一个参数为表名称,第二个参数是 metadata,这俩个是必须的
    # 'project_language', db.Model.Base.metadata,
    # 对于辅助表,一般存储要关联的俩个表的 id,并设置为外键
    db.Column('project_id', db.Integer, db.ForeignKey('m_project.id')),
    db.Column('manager_id', db.Integer, db.ForeignKey('m_manager.id')),
)
manager_language = db.Table(
    'manager_language',
    # 第一个参数为表名称,第二个参数是 metadata,这俩个是必须的
    # 'project_language', db.Model.Base.metadata,
    # 对于辅助表,一般存储要关联的俩个表的 id,并设置为外键
    db.Column('language_id', db.Integer, db.ForeignKey('m_language.id')),
    db.Column('manager_id', db.Integer, db.ForeignKey('m_manager.id')),
)
manager_permission = db.Table(
    'manager_permission',
    # 第一个参数为表名称,第二个参数是 metadata,这俩个是必须的
    # 'project_language', db.Model.Base.metadata,
Ejemplo n.º 4
0
import logging
import enum
from datetime import datetime
from hobbit_core.db import Column, BaseModel, reference_col, SurrogatePK
from sqlalchemy.orm import relationship, exc

from app.exts import db


goods_orders = db.Table(
    'association_order',
    Column('order_id', db.Integer, db.ForeignKey('orders.id')),
    Column('good_id', db.Integer, db.ForeignKey('goods.id'))
)


class Order(db.Model):
    __tablename__ = 'orders'
    id = Column(db.Integer, primary_key=True)
    order_number = Column(db.String(200), nullable=False, index=True)
    trad_no = Column(db.String(200), nullable=True)
    invoice_titile = Column(db.String(500), nullable=True)
    invoice_company = Column(db.String(500), nullable=True)
    invoice_content = Column(db.String(500), nullable=True)
    consignee_address = Column(db.String(500), nullable=True)
    order_price = Column(db.Float, nullable=False, default=1.0)
    pay_status = Column(
        db.Enum('未支付', '已支付', '已取消'),
        default='未支付', doc='订单状态:未支付, 已支付, 已取消')
    is_send = Column(db.Boolean(), default=False, doc='False代表非热销商品')
Ejemplo n.º 5
0
        if self.password == pwd:
            return True
        else:
            return False

    def __repr__(self):
        return self.CustomConsume, self.CustomAccount


# 辅助表db.Table声明由sqlalchemy进行管理
# 要放在两个模型上面不然会出现错误,有个模型要用到po名称
po = db.Table(
    'po',
    db.Column('order_id',
              db.Integer,
              db.ForeignKey('order.id'),
              primary_key=True),
    db.Column('product_id',
              db.Integer,
              db.ForeignKey('product.id'),
              primary_key=True))


# 订单表
class Order(db.Model):
    __tablename__ = 'order'
    id = db.Column(db.Integer,
                   primary_key=True,
                   nullable=False,
                   autoincrement=True)
    CustomId = db.Column(db.Integer, db.ForeignKey('custom.id'))
    ProductId = db.Column(db.String(30))
Ejemplo n.º 6
0
# coding: utf-8
from app.exts import db

record_tag = db.Table(
    'record_tag',
    db.Column('record_id',
              db.Integer,
              db.ForeignKey('record.id'),
              primary_key=True),
    db.Column('tag_id', db.Integer, db.ForeignKey('tag.id'), primary_key=True))


class Category(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(10), unique=True)

    items = db.relationship('Item',
                            back_populates='category',
                            cascade='all, delete-orphan')


class Item(db.Model):
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name = db.Column(db.String(10), unique=True)

    category_id = db.Column(db.Integer, db.ForeignKey('category.id'))

    category = db.relationship('Category', back_populates='items')
    records = db.relationship('Record',
                              back_populates='item',
                              cascade='all, delete-orphan')
Ejemplo n.º 7
0
# class SubMenu(BaseModel):
#     __tablename__ = 'submenus'
#     exclude_columns = ['created_at', 'updated_at']
#     auth_name = Column(db.String(32), nullable=False, index=True)
#     path = Column(db.String(256), nullable=False)
#     level = Column(db.Integer, nullable=True)
#     parent_id = Column(db.Integer, db.ForeignKey('menus.id'))
#     parent = relationship('Menu', backref=db.backref('children', order_by=auth_name))

#     def __init__(self, auth_name, path, **kwargs):
#         db.Model.__init__(self, auth_name=auth_name, path=path, **kwargs)

association_table = db.Table(
    'association',
    # Column('menu_id', db.Integer, db.ForeignKey('menus.id', ondelete='CASCADE')),
    # Column('role_id', db.Integer, db.ForeignKey('roles.id', ondelete='CASCADE'))
    Column('menu_id', db.Integer, db.ForeignKey('menus.id')),
    Column('role_id', db.Integer, db.ForeignKey('roles.id')))


class Menu(db.Model):
    __tablename__ = 'menus'
    id = db.Column(db.Integer, primary_key=True)
    exclude_columns = ['created_at', 'updated_at']
    auth_name = Column(db.String(32), nullable=False, index=True)
    path = Column(db.String(256), nullable=False)
    level = Column(db.Integer, nullable=True)
    created_at = Column(db.Date, nullable=True, default=datetime.now)
    updated_at = Column(db.Date, nullable=True, default=datetime.now)
    parent_id = db.Column(db.Integer, db.ForeignKey('menus.id'))
    children = db.relationship('Menu', back_populates='parent')
Ejemplo n.º 8
0
from .users import User
from .posts import Posts
from app.exts import db

collections = db.Table(
    'collections',
    db.Column('users_id', db.Integer, db.ForeignKey('user.id')),
    db.Column('posts_id', db.Integer, db.ForeignKey('posts.id')),
)