Esempio n. 1
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 '-'
Esempio n. 2
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"))
Esempio n. 3
0
class Usuario(UserMixin, db.Model):
    __tablename__ = 'usuario'

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

    email = db.Column(db.String(100), index=True, unique=True, nullable=False)
    senha = db.Column(db.String(128), nullable=False)
    data_criacao = db.Column(db.DateTime,
                             index=False,
                             unique=False,
                             nullable=False,
                             default=datetime.utcnow)
    tipo_usuario = db.Column(db.Boolean, default=False)

    id_pessoa = db.Column(db.Integer,
                          db.ForeignKey('pessoa.id'),
                          nullable=True)

    @property
    def password(self):
        raise AttributeError('Não é possível acessar o atributo password')

    @password.setter
    def password(self, senha_texto):
        self.senha = generate_password_hash(senha_texto)

    def verify_password(self, senha_texto):
        return check_password_hash(self.senha, senha_texto)

    def __repr__(self):
        return '<Usuario: {}>'.format(self.email)
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')
Esempio n. 5
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')