2016-12-14 5 views
-1

У меня есть приложение Flask, в котором я использую SQLAlchemy.SQLAlchemy, Flask и extracting using filter_by и filter

У меня есть модель:

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) 

В моих взглядах части я пытаюсь извлечь набор строк на основе сделал и отметку время, как я хочу только подмножество данных.

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

Пожалуйста, объясните, почему вы думаете, что мне нужно проголосовать? – Zeliax

ответ

1

Как указано в сообщении об ошибке, вы пытаетесь получить доступ к объекту SQLAlchemy Tables_910. Но ваша модель определена в models.py. Для этого вы должны использовать models.Table_910.

+0

Спасибо. Такое простое решение! Я не могу поверить, что не пробовал этот первый O.o – Zeliax