Example #1
0
class Order(db.Model):
    """订单模型"""

    __tablename__ = 'orders'

    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    shop_id = db.Column(db.Integer, db.ForeignKey('shops.id'))
    group_id = db.Column(db.Integer, db.ForeignKey('groups.id'))
    total = db.Column(db.Float)
    time = db.Column(db.DateTime)
    text = db.Column(db.Text)
    luck = db.Column(db.Integer)

    shop = db.relationship('Shop')
    user = db.relationship('User')

    def __init__(self, user_id, shop_id, group_id, total, time, text, luck):
        self.user_id = user_id
        self.shop_id = shop_id
        self.group_id = group_id
        self.total = total
        self.time = time
        self.text = text
        self.luck = luck

    def __repr__(self):
        return '<Order %r>' % (self.id)
Example #2
0
class City(db.Model):
    """城市"""

    __tablename__ = 'cities'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(32))
    shops = db.relationship('Shop',
                            backref=db.backref('city', lazy='joined'),
                            lazy='dynamic')
    groups = db.relationship('Group',
                             backref=db.backref('city', lazy='joined'),
                             lazy='dynamic')

    def __init__(self, name):
        self.name = name
Example #3
0
class Connect(db.Model):
    """第三方登录"""

    __tablename__ = 'connects'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    openid = db.Column(db.Integer)
    access_token = db.Column(db.Unicode(32))
    app = db.Column(db.Unicode(10))

    def __init__(self, openid, access_token, app):
        self.openid = openid
        self.access_token = access_token
        self.app = app

    def __repr__(self):
        return '<Connect %r>' % self.app
Example #4
0
class FoodCategory(db.Model):
    """食品分类模型"""

    __tablename__ = 'foodcategories'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(32), nullable=False)
    shop_id = db.Column(db.Integer, db.ForeignKey('shops.id'))
    foods = relationship('Food', lazy='dynamic')

    def __init__(self, name, shop_id):
        self.name = name
        self.shop_id = shop_id

    def __repr__(self):
        return '<FoodCategory %r>' % self.name

    @staticmethod
    def findAllByShopId(shop_id):
        return FoodCategory.query.filter(FoodCategory.shop_id == shop_id).all()
Example #5
0
class Shop(db.Model):
    """店铺模型"""

    __tablename__ = 'shops'

    id = Column(Integer, primary_key=True)
    name = Column(Unicode(32), nullable=False)
    address = Column(Unicode(120))
    tel = Column(Unicode(120))
    css = Column(Text)
    creator_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    city_id = db.Column(db.Integer, db.ForeignKey('cities.id'))
    food_categories = db.relationship('FoodCategory', lazy="dynamic")
    foods = db.relationship('Food', lazy="dynamic")
    creator = db.relationship('User')

    def __init__(self, name, address, tel, city_id, creator_id, css=None):
        self.name = name
        self.address = address
        self.tel = tel
        self.city_id = city_id
        self.css = css
        self.creator_id = creator_id

    def __repr__(self):
        return '<Shop %r>' % self.name

    @staticmethod
    def get(id):
        return Shop.query.filter(Shop.id == id).first()

    @property
    def serialize(self):
        """Return object data in easily serializeable format"""
        return {
            'id': self.id,
            'name': self.name,
            'address': self.address,
            'tel': self.tel
        }
Example #6
0
class Food(db.Model):
    """食品模型"""

    __tablename__ = 'food'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(32))
    price = db.Column(db.Float)
    week = db.Column(db.Integer, default=-1)
    shop_id = db.Column(db.Integer, db.ForeignKey('shops.id'))
    foodcategory_id = db.Column(db.Integer, db.ForeignKey('foodcategories.id'))

    def __init__(self, name, price, shop_id, week, food_category_id):
        self.name = name
        self.price = price
        self.shop_id = shop_id
        self.week = week
        self.food_category_id = food_category_id

    def __repr__(self):
        return '<Shop %r>' % self.name

    @property
    def serialize(self):
        """Return object data in easily serializeable format"""
        return {
            'id': self.id,
            'name': self.name,
            'price': self.price,
            'week': self.week
        }
Example #7
0
class User(db.Model):
    """用户模型"""
    __tablename__ = 'users'
    query_class = UserQuery

    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.Unicode(50))
    name = db.Column(db.Unicode(50))
    figureurl = db.Column(db.Text)
    join = db.Column(db.DateTime)
    role = db.Column(db.Unicode(10))
    group_id = db.Column(db.Integer, db.ForeignKey('groups.id'))
    connects = db.relationship('Connect', backref='user', lazy="dynamic")

    def __init__(self,
                 nickname=None,
                 name=None,
                 join=None,
                 role=None,
                 group_id=None,
                 figureurl=None):
        self.nickname = nickname
        self.name = name
        self.join = join
        self.role = role
        self.group_id = group_id
        self.figureurl = figureurl

    def __repr__(self):
        return '<User %r>' % self.name

    def check_password(self, password):
        if self.password is None:
            return False
        return check_password_hash(self.password, password)

    def is_authenticated(self):
        return True

    def is_active(self):
        return True

    def is_anonymous(self):
        return False

    def get_id(self):
        return self.id