Что я должен положить в свой __repr__, чтобы красиво распечатать мои запросы? - PullRequest
1 голос
/ 29 апреля 2020

Это то, что я пробовал до сих пор. Он принимает данные из API, а затем вводит в базу данных ut c записи и что-то, называемое значениями. Мои данные находятся в моей базе данных, но у меня возникают проблемы с доступом к ним через flask и SQL -алхимию. На данный момент я либо получаю сообщение об ошибке рекурсии, либо не могу распечатать запросы.

APP = Flask(__name__)

API = OpenAQ()

status, body = API.measurements(city='Los Angeles', parameter='pm25')


list1 = []
list2 = []

for x in range(1, 50):
    list1.append(body['results'][x]['date']['utc'])
    list2.append(body['results'][x]['value'])


APP.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///db.sqlite3'
DB = SQLAlchemy(APP)



class Record(DB.Model):
    id = DB.Column(DB.Integer, primary_key=True)
    datetime = DB.Column(DB.String(25))
    value = DB.Column(DB.Float, nullable=False)


    def __repr__(self):
        utc_records = self.Record.query.all()
        return utc_records


@APP.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        model.save()

    else:
        return render_template('template.html')

@APP.route('/')
def root():
    condition = (Record.value >= 10)
    records = Record.query.filter(condition).all()
    print(records)
    return records




@APP.route('/refresh', methods=['GET', 'POST'])
def refresh():
    DB.drop_all()
    DB.create_all()
    for x in range(1, 49):
        utc = Record(datetime = list1[x], value = list2[x])
        DB.session.add(utc)
    DB.session.commit()
    return 'Data refreshed!'
...