sqlalchemy正确的查询结构

时间:2013-09-28 03:29:01

标签: python sqlalchemy flask-sqlalchemy

这里真正的新sqlalchemy用户可能是一个基本问题,但对于我的生活,我无法弄清楚查询我的数据的正确方法。这是我的班级。

class Reading(db.Model):
__tablename__ = 'reading'

rid = db.Column(db.Integer, primary_key=True)
uid = db.Column(db.Integer, db.ForeignKey('user.uid'))
sid = db.Column(db.Integer, db.ForeignKey('sensor.sid'))
readingTimestamp = db.Column(db.DateTime())
readingLightValue = db.Column(db.Integer)
readingLightStatus = db.Column(db.String(6))
readingTemp1 = db.Column(db.Float)
readingTemp2 = db.Column(db.Float)
readingHumidity = db.Column(db.Float)

编写数据工作正常,现在如果我尝试创建这样的查询。

result = db.session.query(Reading).order_by(Reading.readingTimestamp.desc()).limit(50)

我得到了一个你想要的查询对象,

In [36]: result.all()
Out[36]: 
[<app.account.models.Reading at 0x2b85ad0>,
<app.account.models.Reading at 0x2b85490>,
<app.account.models.Reading at 0x2b85250>,

但我无法弄清楚如何访问模型的属性。我想把这些读数带回来作为一张桌子。

谢谢你让我直截了当! :)

1 个答案:

答案 0 :(得分:1)

这是一个列表,属性成为对象的属性。你可能想做这样的事情:

for res in result.all():
     # do something with the id
     do_something(res.id)

每个res都是您模型的一个实例。