Exemple #1
0
class ItemModel(db.Model):
    __tablename__ = 'items'

    id_ = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20))
    price = db.Column(db.Float(precision=2))

    store_id = db.Column(db.Integer, db.ForeignKey('stores.id_'))
    store = db.relationship('StoreModel')

    def __init__(self, name, price, store_id):
        self.name = name
        self.price = price
        self.store_id = store_id

    def json(self):
        return {
            'name': self.name,
            'price': self.price,
            'store_id': self.store_id
        }

    @classmethod
    def get_by_name(cls, name):
        return cls.query.filter_by(name=name).first()

    def save_to_db(self):
        db.session.add(self)
        db.session.commit()

    def delete_from_db(self):
        db.session.delete(self)
        db.session.commit()
Exemple #2
0
class Post(db.Model):
    """Represents Proected posts."""

    __tablename__ = 'posts'
    id = db.Column(db.String(45), primary_key=True)
    title = db.Column(db.String(255))
    text = db.Column(db.Text())
    publish_date = db.Column(db.DateTime)
    # Set the foreign key for Post
    user_id = db.Column(db.String(45), db.ForeignKey('users.id'))

    comments = db.relationship('Comment', backref='posts', lazy='dynamic')
    # many to many: posts <==> tags
    tags = db.relationship(
        'Tag',
        #会告知 SQLAlchemy 该 many to many 的关联保存在 posts_tags 表中
        secondary=posts_tags,
        #声明表之间的关系是双向,帮助手册 help(db.backref)。
        # 需要注意的是:在 one to many 中的 backref 是一个普通的对象,
        # 而在 many to many 中的 backref 是一个 List 对象
        backref=db.backref('posts', lazy='dynamic'))

    def __init__(self, title):
        self.title = title

    def __repr__(self):
        return "<Model Post `{}`>".format(self.title)
Exemple #3
0
class Message(db.Model):
    """
    Saving messages from guest(buyers) to seller in our database
    """
    id = db.Column(db.Integer, primary_key=True)
    gar_name = db.Column(db.Text, nullable=False)
    msg = db.Column(db.Text, nullable=False)
    receiver_id = db.Column(db.Integer,
                            db.ForeignKey('user.id'),
                            nullable=False)
Exemple #4
0
class Comment(db.Model):
    """Represents Proected comments."""

    __tablename__ = 'comments'
    id = db.Column(db.String(45), primary_key=True)
    name = db.Column(db.String(255))
    text = db.Column(db.Text())
    date = db.Column(db.DateTime())
    post_id = db.Column(db.String(45), db.ForeignKey('posts.id'))

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

    def __repr__(self):
        return '<Model Comment `{}`>'.format(self.name)
Exemple #5
0
class Garment(db.Model):
    """
    Saving clothes posted by users with login credentials into our database
    """
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String(10), nullable=False)
    gender = db.Column(db.String(5), nullable=False)
    size = db.Column(db.String(5), nullable=False)
    price = db.Column(db.INTEGER, nullable=False)
    des = db.Column(db.Text, nullable=False)
    pic = db.Column(db.String(2000), nullable=False, default='default.jpg')
    #db.Column(ARRAY(db.Text), nullable=False, default=db.cast(array([], type_=db.Text), ARRAY(db.Text)))
    date_posted = db.Column(db.DateTime,
                            nullable=False,
                            default=datetime.utcnow)
    user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)

    def __repr__(self):
        return f"Garment('{self.title}', '{self.date_posted}')"
Exemple #6
0
from db_config import db
"""

"""
posts_tags = db.Table(
    'posts_tags', db.Column('post_id', db.String(45),
                            db.ForeignKey('posts.id')),
    db.Column('tag_id', db.String(45), db.ForeignKey('tags.id')))


class Post(db.Model):
    """Represents Proected posts."""

    __tablename__ = 'posts'
    id = db.Column(db.String(45), primary_key=True)
    title = db.Column(db.String(255))
    text = db.Column(db.Text())
    publish_date = db.Column(db.DateTime)
    # Set the foreign key for Post
    user_id = db.Column(db.String(45), db.ForeignKey('users.id'))

    comments = db.relationship('Comment', backref='posts', lazy='dynamic')
    # many to many: posts <==> tags
    tags = db.relationship(
        'Tag',
        #会告知 SQLAlchemy 该 many to many 的关联保存在 posts_tags 表中
        secondary=posts_tags,
        #声明表之间的关系是双向,帮助手册 help(db.backref)。
        # 需要注意的是:在 one to many 中的 backref 是一个普通的对象,
        # 而在 many to many 中的 backref 是一个 List 对象
        backref=db.backref('posts', lazy='dynamic'))