[Python-es] flask-sqlalchemy

FERNANDO VILLARROEL fvillarroel en yahoo.com
Mar Abr 25 20:38:46 EDT 2017


Hola a todos.
Quisiera si alguien me puede ayudar con una consulta sqlalchemy:
Tengo una tabla que se relaciona con otras tres tablas:
class sensores(db.Model,Serializer):
 id = db.Column(db.Integer, autoincrement=True, primary_key=True)     nombre = db.Column(db.String(128), nullable=False) id_cia = db.Column(db.Integer, db.ForeignKey('cia.id')) cia = db.relationship('cia', backref='sensores')
 def __repr__(self): return self.nombre
class tipoalarm(db.Model):
 id = db.Column(db.Integer, autoincrement=True, primary_key=True)
     nombre = db.Column(db.String(128), nullable=False)
     def __repr__(self): return self.nombre
class tipos(db.Model):

  id = db.Column(db.Integer, autoincrement=True, primary_key=True)     nombre = db.Column(db.String(128), nullable=False)     dato = db.Column(db.String(10), nullable=False, index=True)
     def __repr__(self): return self.nombre
class alarmas(db.Model):
  id = db.Column(db.Integer, autoincrement=True, primary_key=True)        nombre = db.Column(db.String(128), nullable=False) id_sensor = db.Column(db.Integer, db.ForeignKey('sensores.id')) sensor = db.relationship('sensores', backref=db.backref('alarmas', lazy='joined')) id_tipos = db.Column(db.Integer, db.ForeignKey('tipos.id')) tipo = db.relationship('tipos', backref=db.backref('alarmas', lazy='joined')) id_tipoalarm = db.Column(db.Integer, db.ForeignKey('tipoalarm.id')) tipoalarma = db.relationship('tipoalarm', backref=db.backref('alarmas',lazy='joined')) rdel = db.Column(db.Integer, nullable=False, default=0) ral = db.Column(db.Integer, nullable=False, default=0) cant = db.Column(db.Integer, nullable=False, default=3) status = db.Column(db.Boolean, nullable=False ,default=True)

 Como ven la clase alarmas se relaciona con sensores,tipos y tipoalarm. Mi query es:
data = alarmas.query.join(tipos,tipoalarm,sensores).filter(sensores.id_cia==cia).all()

La tabla sensores es la que tiene la columna id_cia, entonces de la tabla alarmas necesito traer todos aquellos registros que cumplan con el criterio de la tabla sensores.
Esta query me trae los datos del objeto sensores solamente.
Bueno quedo atento a cualquier ayuda.
Saludos



------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20170426/fbc43ba1/attachment.html>


Más información sobre la lista de distribución Python-es