コード例 #1
0
class AccountModel(banco.Model):
    __tablename__ = 'account'
    account_id = banco.Column(banco.Integer, primary_key=True)
    name = banco.Column(banco.String(40), nullable=False)
    initial_balance = banco.Column(banco.Float, default=0)
    credits = banco.relationship('CreditModel')
    debits = banco.relationship('DebitModel')
    
    def __init__(self, name, initial_balance):
        self.name = name
        self.initial_balance = initial_balance

    def json(self):
        return {
            "account_number": self.account_id,
            "name": self.name,
            "initial_balance": self.initial_balance,
        }


    @classmethod
    def find(cls, account_id):
        return cls.query.filter_by(account_id=account_id).first()

    @classmethod
    def find_all(cls, limit=50, offset=0):
        return cls.query.limit(limit).offset(offset).all()

    def save(self):
        banco.session.add(self)
        banco.session.commit()
コード例 #2
0
class SiteModel(banco.Model):
    __tablename__ = "sites"
  #tabela com string
    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship('HotelModel')
 #
    def __init__(self, url):
        self.url = url
#retorna um json
    def json(self):
        return{
            'site_id':self.site_id,
            'url':self.url,
            'hoteis':[hotel.json() for hotel in self.hoteis] #lista de hoteis lincados a este site]
                }

    # buscar por url
    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(url=url).first() #select * from w
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        banco.session.delete(self)
        banco.session.commit()
コード例 #3
0
class SitelModel(banco.Model):
    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship('HotelModel')

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

    def json(self):
        return {'site_id': self.site_id, 'url': self.url, 'hoteis': [hotel.json() for hotel in self.hoteis]}

    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first()
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        [hotel.delete_hotel() for hotel in self.hoteis]
        banco.session.delete(self)
        banco.session.commit()
コード例 #4
0
ファイル: veiculo.py プロジェクト: RodrigoNunesP/truckpad
class VeiculoModel(banco.Model):
    __tablename__ = 'veiculos'
    codigo = banco.Column(banco.Integer, primary_key=True)
    tipo_veiculo = banco.Column(banco.String(80))
    rotas = banco.relationship('RotaModel')
    
    def __init__(self, codigo, tipo_veiculo):
        self.codigo = codigo
        self.tipo_veiculo = tipo_veiculo

    def json(self):
        return {
            'codigo' : self.codigo,
            'tipo_veiculo' : self.tipo_veiculo,
            'rotas': [rota.json() for rota in self.rotas]
        }

    @classmethod
    def find_veiculo(cls, codigo):
        veiculo = cls.query.filter_by(codigo=codigo).first() 
        if veiculo:
            return veiculo
        return None

    def save_veiculo(self):
        banco.session.add(self)
        banco.session.commit()

    def update_veiculo(self, codigo, tipo_veiculo):
        self.codigo = codigo
        self.tipo_veiculo = tipo_veiculo

    def delete_veiculo(self):
        banco.session.delete(self)
        banco.session.commit()
コード例 #5
0
class SiteModel(banco.Model):
    __tablename__ = 'TB_SITES'

    id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(50))
    hoteis = banco.relationship('HotelModel')

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

    def convertToDictionary(self):
        return {
            'id': self.id,
            'nota': self.url,
            'hoteis': [hotel.convertToDictionary() for hotel in self.hoteis]
        }

    @classmethod
    def find_all(cls):
        sites = cls.query.all()
        if sites:
            return sites
        return None

    @classmethod
    def find_by_id(cls, id):
        site = cls.query.filter_by(id=id).first()
        if site:
            return site
        return None

    @classmethod
    def find_by_url(cls, url):
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        [hotel.delete_hotel() for hotel in self.hoteis()]

        banco.session.delete(self)
        banco.session.commit()

    def update_site(self, url):
        self.url = url
コード例 #6
0
class SiteModel(banco.Model):

    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship('HotelModel')

    # Cria os campos do modelo da classe hotel >>Isso é um objeto<<
    def __init__(self, url):
        self.url = url

    # Funcão que Transforma um objeto em um fomato DICIONÁRIO que converte/ou é um JSON - automaticamente >>>  <<<

    def json(self):
        return {
            'site_id': self.site_id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis]
        }

    @classmethod
    def find_site(cls, url):
        url = cls.query.filter_by(url=url).first()
        if url:
            return url
        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first()
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def update_site(self, url):
        self.url = url

    def delete_site(self):
        # Deletando todos os hoteis associado ao site
        [hotel.delete_hotel() for hotel in self.hoteis]
        # Agora deleta o site
        banco.session.delete(self)
        banco.session.commit()
コード例 #7
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'
    id = banco.Column(banco.Integer, primary_key=True, autoincrement=True)
    name = banco.Column(banco.String(80), nullable=False)
    url = banco.Column(banco.String(80), nullable=False)
    hotels = banco.relationship('HotelModel')

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

    def json(self):
        return {
            'id': self.id,
            'name': self.name,
            'url': self.url,
            'hotels': [hotel.json() for hotel in self.hotels]
        }

    @classmethod
    def find_site_by_id(cls, id):
        site = cls.query.filter_by(id=id).first()
        if site:
            return site
        return None

    @classmethod
    def find_site_by_name(cls, name):
        site = cls.query.filter_by(name=name).first()
        if site:
            return site
        return None

    @classmethod
    def find_site_by_url(cls, url):
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        [hotel.delete_hotel() for hotel in self.hotels]
        banco.session.delete(self)
        banco.session.commit()
コード例 #8
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))

    hoteis = banco.relationship(
        'HotelModel')  #relacionamento entre as classe do banco

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

    def json(self):
        return {
            'site_id': self.site_id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis]
        }

    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(
            url=url).first()  #SELECT * FROM Hoteis WHERE id=id LIMIT 1
        if site:
            return site

        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(
            site_id=site_id).first()  #SELECT * FROM Hoteis WHERE id=id LIMIT 1
        if site:
            return site

        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        #deletando todos os hoteis relacionados ao site
        [hotel.delete_hotel() for hotel in self.hoteis]
        #deletando o site
        banco.session.delete(self)
        banco.session.commit()
コード例 #9
0
ファイル: site.py プロジェクト: henchaves/hotels-api-flask
class SiteModel(banco.Model):
    __tablename__ = 'sites'
    site_id = banco.Column(banco.Integer, primary_key=True)
    nome = banco.Column(banco.String(40))
    url = banco.Column(banco.String(80))
    # Lista de objetos hoteis que possuem o site_id como chave secundaria
    hoteis = banco.relationship('HotelModel')

    def __init__(self, nome, url):
        self.nome = nome
        self.url = url

    def json(self):
        return {
            "site_id": self.site_id,
            "nome": self.nome,
            "url": self.url,
            "hoteis": [hotel.json() for hotel in self.hoteis]
        }

    @classmethod
    def find_site_by_name(cls, nome):
        site = cls.query.filter_by(nome=nome).first()
        if site:
            return site
        else:
            return None

    @classmethod
    def find_site_by_id(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first()
        if site:
            return site
        else:
            return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        # Deletando todos os hoteis associados ao site (Relação de composição)
        for hotel in self.hoteis:
            hotel.delete_hotel()
        # Deletando site
        banco.session.delete(self)
        banco.session.commit()
コード例 #10
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    # criando uma relação entre as tabelas
    hoteis = banco.relationship('HotelModel')  # lista de objs hoteis

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

    def json(self):
        return {
            'site_id': self.site_id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis
                       ]  # self.hoteis -> esta dentro do self recebido do obj
        }

    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(
            url=url).first()  # SELECT * FROM hoteis WHERE hotel_id = hotel_id
        if site:
            return site
        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first(
        )  # SELECT * FROM hoteis WHERE hotel_id = hotel_id
        if site:
            return site
        return None

    def save_site(self):
        # adiciona o obj no banco
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        # deletando todos hoteis associados ao site
        [hotel.delete_hotel() for hotel in self.hoteis]
        # deletando site
        banco.session.delete(self)
        banco.session.commit()
コード例 #11
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'

    #mapeamento para o SQLAlchemy
    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship(
        'HotelModel'
    )  #lista de objt hoteis #Relacionamento com HOTEL - 1 site para N hoteis

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

    def json(self):
        return {
            'site_id': self.site_id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis]
        }

    #CRUD
    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first()
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        #deletando todos os hoteis associados ao site
        [hotel.delete_hotel() for hotel in self.hoteis]
        #delete no site
        banco.session.delete(self)
        banco.session.commit()
コード例 #12
0
class Cargo_Model(banco.Model):
    __tablename__ = 'cargos'

    cargo_id = banco.Column(banco.Integer, primary_key=True)
    nome = banco.Column(banco.String(80))
    salario = banco.Column(banco.Float(precision=2))
    funcionarios = banco.relationship('Funcionario_Model')

    def __init__(self, nome, salario):
        self.nome = nome
        self.salario = salario

    def json(self):
        return {
            'cargo_id':
            self.cargo_id,
            'nome':
            self.nome,
            'salario':
            self.salario,
            'funcionarios':
            [funcionario.json() for funcionario in self.funcionarios]
        }

    @classmethod
    def find_cargo(cls, nome):
        cargo = cls.query.filter_by(nome=nome).first()
        if cargo:
            return cargo
        return None

    @classmethod
    def find_by_id(cls, cargo_id):
        cargo = cls.query.filter_by(cargo_id=cargo_id).first()
        if cargo:
            return cargo
        return None

    def save_cargo(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_cargo(self):
        banco.session.delete(self)
        banco.session.commit()
コード例 #13
0
class Especialidade_Model(banco.Model):
    __tablename__ = 'especialidades'

    especi_id = banco.Column(banco.Integer, primary_key=True)
    especialide = banco.Column(banco.String(80))
    funcionarios = banco.relationship('Funcionario_Model')

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

    def json(self):
        return {
            'especi_id':
            self.especi_id,
            'especialidade':
            self.especialide,
            'funcionarios':
            [funcionario.json() for funcionario in self.funcionarios]
        }

    @classmethod
    def find_especi(cls, especialide):
        especialidade = cls.query.filter_by(especialide=especialide).first()
        if especialidade:
            return especialidade
        return None

    @classmethod
    def find_by_id(cls, especi_id):
        especialidade = cls.query.filter_by(especi_id=especi_id).first()
        if especialidade:
            return especialidade.json()
        return None

    def save_especi(self):
        banco.session.add(self)
        banco.session.commit()

    def update_especi(self, especialidade):
        self.especialide = especialidade

    def delete_especi(self):
        banco.session.delete(self)
        banco.session.commit()
コード例 #14
0
class EmployeeModel(banco.Model):
    __tablename__ = 'employees'

    id = banco.Column(banco.Integer, primary_key=True)
    name = banco.Column(banco.String)
    function = banco.Column(banco.String)
    points = banco.relationship("PointModel")

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

    def json(self):
        return {
            'id': self.id,
            'name': self.name,
            'function': self.function,
            'points': [point.json() for point in self.points]
        }

    def find_employee(self, id):
        employee = banco.Query.filter_by(id=id).first()
        if employee:
            return employee
        return None

    def find_employee_name(self, name):
        employee = banco.Query.filter_by(name=name).first()
        if employee:
            return employee
        return None

    def save(self):
        banco.session.add(self)
        banco.session.commit()

    def update(self, name, function):
        self.name = name
        self.function = function

    def delete(self):
        banco.session.delete(self)
        banco.session.commit()
コード例 #15
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String)
    hoteis = banco.relationship('HotelModel')  # lista de objetos hoteis

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

    def json(self):
        return {
            'site_id': self.site_id,
            'nome': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis]
        }

    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(
            url=url).first()  #SELECT * FROM hotel_id = $hotel_id
        if site:
            return site
        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(
            site_id=site_id).first()  #SELECT * FROM hotel_id = $site_id
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        #deletando todos hoteis associados ao site
        [hotel.delete_hotel() for hotel in self.hoteis]

        banco.session.delete(self)
        banco.session.commit()
コード例 #16
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(100))
    hoteis = banco.relationship('HotelModel')

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

    def toJson(self):
        return {
            "site_id": self.site_id,
            "url": self.url,
            "hoteis": [hotel.toJson() for hotel in self.hoteis],
        }

    @classmethod
    def find_site(cls, url):
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return None

    @classmethod
    def find_by_id(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first()
        if site:
            return site
        return None

    def save_site(self):
        banco.session.add(self)
        banco.session.commit()

    def delete_site(self):
        # deleta os hoteis relacionados ao site que está sendo deletado.
        [hotel.delete_hotel() for hotel in self.hoteis]

        banco.session.delete(self)
        banco.session.commit()
コード例 #17
0
class SiteModel(banco.Model):
    __tablename__ = 'site'

    id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship('HotelModel')

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

    def json(self):
        return {
            'id': self.id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis]
        }

    #cls define que o método é um 'método de classe', portanto não acessa as propriedades self
    @classmethod
    def find(cls, url):
        site = cls.query.filter_by(url=url).first()
        return site if site else None

    @classmethod
    def find_by_id(cls, id):
        site = cls.query.filter_by(id=id).first()
        return site if site else None

    @classmethod
    def find_all(cls):
        sites = cls.query.all()
        return sites

    def save(self):
        banco.session.add(self)
        banco.session.commit()

    def delete(self):
        [hotel.delete() for hotel in self.hoteis]
        banco.session.delete(self)
        banco.session.commit()
コード例 #18
0
ファイル: site.py プロジェクト: igorfarias30/flask_study
class SiteModel(banco.Model):
    __tablename__ = 'sites'

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship('HotelModel')  # a list of objects

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

    @classmethod
    def findSiteById(cls, site_id):
        site = cls.query.filter_by(site_id=site_id).first()
        if site:
            return site
        return None

    @classmethod
    def findSite(cls, url):
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return None

    def saveSite(self):
        banco.session.add(self)
        banco.session.commit()

    def deleteSite(self):
        # deleting all hoteis associeted with the site when delete this site
        _ = [hotel.delete_hotel() for hotel in self.hoteis]

        banco.session.delete(self)
        banco.session.commit()

    def json(self):
        return {
            'site_id': self.site_id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis]
        }
コード例 #19
0
class SiteModel(banco.Model):  #define que cada nome será uma coluna
    __tablename__ = 'sites'
    #representa o modelo no banco

    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String(80))
    hoteis = banco.relationship(
        'HotelModel')  #lista de obj hoteis que sao consultados automaticamente

    #init da classe
    def __init__(self, url):
        self.url = url

    #transforma em dict
    def json(self):
        return {
            'site_id': self.site_id,
            'url': self.url,
            'hoteis': [hotel.json() for hotel in self.hoteis],
        }

    @classmethod
    def find_site(cls, url):
        #cls pega metodo da classe, metodo presente na classe estendiada banco.Model
        site = cls.query.filter_by(url=url).first()
        if site:
            return site
        return False

    def save_site(self):  #sava os dados no bd
        banco.session.add(self)
        banco.session.commit()

    def delete_hotel(self):
        banco.session.delete(self)
        banco.session.commit()
コード例 #20
0
class TipoSiteModel(banco.Model):

    __tablename__ = "tipo_site"

    id = banco.Column(banco.Integer, primary_key = True, autoincrement=True)
    nome_tipo = banco.Column(banco.String(40))
    site = banco.relationship('SiteModel',backref='tipo', lazy=True)

    def __init__(self, id,nome_tipo):
        self.id = id
        self.nome_tipo = nome_tipo
    
    def json(self):
        return {
            'self.id' : self.id,
            'self.nome_tipo' : self.nome_tipo
        }

    @classmethod
    def find_all(cls):
        tipo = cls.query.all()
        if tipo:
            return tipo
        return None
コード例 #21
0
class SiteModel(banco.Model):
    __tablename__ = 'sites'
    site_id = banco.Column(banco.Integer, primary_key=True)
    url = banco.Column(banco.String)
    hoteis = banco.relationship('HotelModel')

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

    def json(self):
        return {
            "site_id": self.site_id,
            "url": self.url,
            "hoteis": [hotel.json() for hotel in self.hoteis]
        }

    @classmethod
    def find(cls, url):
        return cls.query.filter_by(url=url).first()

    def save(self):
        banco.session.add(self)
        banco.session.commit()

    def update(self, url):
        self.url = url
        self.save_hotel()

    def delete(self):
        [hotel.delete_hotel() for hotel in self.hoteis]
        banco.session.delete(self)
        banco.session.commit()

    @classmethod
    def find_by_id(cls, site_id):
        return cls.query.filter_by(site_id=site_id).first()