예제 #1
0
class ProdutoPromocao(db.Model):
    __tablename__ = 'produtopromocao'

    id = db.Column(db.Integer, primary_key=True)
    id_produto = db.Column(db.Integer, db.ForeignKey('produto.id'))
    id_promocao = db.Column(db.Integer, db.ForeignKey('promocao.id'))

    produtos = db.relationship('Produto', backref=db.backref('produtopromocao', cascade="all, delete-orphan"))
    promocoes = db.relationship('Promocao', backref=db.backref('produtopromocao', cascade="all, delete-orphan"))
예제 #2
0
class Promocao(db.Model):
    __tablename__ = 'promocao'

    id = db.Column(db.Integer, primary_key=True)

    nome = db.Column(db.String(80), index=True, unique=False, nullable=False)
    descricao = db.Column(db.String(200),
                          index=False,
                          unique=False,
                          nullable=False)
    data_criacao = db.Column(db.DateTime,
                             index=False,
                             unique=False,
                             nullable=False,
                             default=datetime.utcnow)
    data_inicio = db.Column(db.DateTime,
                            index=False,
                            unique=False,
                            nullable=False)
    data_fim = db.Column(db.DateTime,
                         index=False,
                         unique=False,
                         nullable=False)
    status = db.Column(db.Boolean, nullable=False, default=False)

    produtos = db.relationship('Produto', secondary='produtopromocao')
예제 #3
0
class Endereco(db.Model):
    __tablename__ = 'endereco'

    id = db.Column(db.Integer, primary_key=True)
    logradouro = db.Column(db.String(80),
                           index=False,
                           unique=False,
                           nullable=False)
    numero = db.Column(db.String(20),
                       index=False,
                       unique=False,
                       nullable=False)
    complemento = db.Column(db.String(80),
                            index=False,
                            unique=False,
                            nullable=True)
    bairro = db.Column(db.String(80),
                       index=False,
                       unique=False,
                       nullable=False)
    cep = db.Column(db.String(10), index=False, unique=False, nullable=False)

    id_cidade = db.Column(db.Integer, db.ForeignKey('cidade.id'))

    pessoa = db.relationship('Pessoa', uselist=False, backref='endereco')
예제 #4
0
class Produto(db.Model):
    __tablename__ = 'produto'

    id = db.Column(db.Integer, primary_key=True)

    nome = db.Column(db.String(80), index=True, unique=False, nullable=False)
    descricao = db.Column(db.String(200), index=False, unique=False, nullable=False)
    preco = db.Column(db.Float, nullable=False)
    quantidade = db.Column(db.Integer, nullable=False)
    img = db.Column(db.LargeBinary(50000), nullable=False)
    data_criacao = db.Column(db.DateTime, index=False, unique=False, nullable=False, default=datetime.utcnow)

    id_categoria = db.Column(db.Integer, db.ForeignKey('categoria.id'))
    id_fornecedor = db.Column(db.Integer, db.ForeignKey('fornecedor.id'))

    promocoes = db.relationship('Promocao', secondary='produtopromocao')

    def fornecedor_as_str(self):
        try:
            return Fornecedor.query.get(self.id_fornecedor).nome_fantasia
        except AttributeError:
            return '-'

    def categoria_as_str(self):
        try:
            return Categoria.query.get(self.id_categoria).nome
        except AttributeError:
            return '-'
예제 #5
0
class Categoria(db.Model):
    __tablename__ = 'categoria'

    id = db.Column(db.Integer, primary_key=True)

    nome = db.Column(db.String(80), index=True, unique=True, nullable=False)
    descricao = db.Column(db.String(200), index=False, unique=False, nullable=False)
    data_criacao = db.Column(db.DateTime, index=False, unique=False, nullable=False, default=datetime.utcnow)

    produtos = db.relationship('Produto', backref='categoria', lazy='dynamic')  # 1-*
예제 #6
0
class Cidade(db.Model):
    __tablename__ = 'cidade'

    id = db.Column(db.Integer, primary_key=True)
    codigo = db.Column(db.Integer, unique=True, nullable=False)
    estado = db.Column(db.String(20),
                       index=False,
                       unique=False,
                       nullable=False)
    endereco = db.relationship('Endereco', uselist=False, backref='cidade')
예제 #7
0
class Pessoa(db.Model):
    __tablename__ = 'pessoa'

    id = db.Column(db.Integer, primary_key=True)

    nome = db.Column(db.String(100), index=True, unique=False, nullable=False)
    cpf = db.Column(db.String(11), index=True, unique=True, nullable=False)
    data_nascimento = db.Column(db.DateTime,
                                index=False,
                                unique=False,
                                nullable=False)
    sexo = db.Column(db.String(1), index=False, unique=False, nullable=False)

    id_endereco = db.Column(db.Integer, db.ForeignKey('endereco.id'))

    usuario = db.relationship('Usuario', uselist=False, backref='pessoa')
예제 #8
0
class Fornecedor(db.Model):
    __tablename__ = 'fornecedor'

    id = db.Column(db.Integer, primary_key=True)

    nome_fantasia = db.Column(db.String(80),
                              index=True,
                              unique=False,
                              nullable=False)
    cnpj = db.Column(db.String(14), index=True, unique=True, nullable=False)
    url = db.Column(db.String(100), index=False, unique=False, nullable=False)
    data_criacao = db.Column(db.DateTime,
                             index=False,
                             unique=False,
                             nullable=False,
                             default=datetime.utcnow)
    ativo = db.Column(db.Boolean, default=True)

    produtos = db.relationship('Produto', backref='fornecedor', lazy='dynamic')