我有一个Flask应用程序,我正在使用SQLAlchemy。
我有一个模特:
from sqlalchemy import BigInteger, Column, JSON, Text
from app import db
class Table_910(db.Model):
__tablename__ = 'table_910'
id = db.Column(BigInteger, primary_key=True)
did = db.Column(Text)
timestamp = db.Column(BigInteger)
data = db.Column(JSON)
db_timestamp = db.Column(BigInteger)
def __repr__(self):
return '<1_Data %r, %r>' % (self.did, self.id)
在我的视图部分中,我尝试根据did和timestamp提取一组行,因为我只想要一个数据子集。
from flask import render_template
from app import app, db, models
@app.route('/')
@app.route('/index')
def index():
rows = models.Table_910.query \
.filter_by(did='357139052424715') \
.filter((db.Table_910.timestamp > 1466846920000) | (db.Table_910.timestamp < 1467017760000))
return render_template('index.html', rows=rows)
但由于某种原因,我得到了:
AttibuteError: 'SQLAlchemy' object has no attribute 'Table_910'.
有谁知道这背后的原因?
答案 0 :(得分:1)
如错误消息所示,您尝试访问SQLAlchemy对象上的Tables_910
。但是你的模型是在models.py中定义的。您需要使用models.Table_910
进行查询。