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()
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()
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()
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()
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
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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] }
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()
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
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()