这里真正的新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>,
但我无法弄清楚如何访问模型的属性。我想把这些读数带回来作为一张桌子。
谢谢你让我直截了当! :)
答案 0 :(得分:1)
这是一个列表,属性成为对象的属性。你可能想做这样的事情:
for res in result.all():
# do something with the id
do_something(res.id)
每个res
都是您模型的一个实例。