как сделать Select с SQLAlachemy? - PullRequest
0 голосов
/ 11 апреля 2020

Я использую SQAlchemy и python, без flask, хорошо, когда я делаю бесконечное l oop и вызываю метод выбора, который предлагает sqlalchemy, он возвращает значение моей таблицы, но при изменении значения Специфический столбец c от phpmyadmin, в скрипте python не отражены внесенные изменения, кто-то может дать мне какой-нибудь совет или помощь, пожалуйста, заранее спасибо.

PD: Я оставляю код для Вам проанализировать:

from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey, create_engine, Float, DateTime, update, Date, Time
from sqlalchemy.sql import select
import time
import os

ahora = Table('ahora', metadata,
              Column('id', Integer, primary_key=True),
              Column('temperatura', Float()),
              Column('humedad', Float()),
              Column('canal1', Float()),
              Column('canal2', Float()),
              Column('canal3', Float()),
              Column('canal4', Float()),
              Column('hora', Time()),
              )
engine = create_engine('mysql+pymysql://javi:javiersolis12@10.0.0.20/Tuti')
connection = engine.connect()
while True:
    #Seleccionara la unica entrada en la tabla Configuracion
    query = select([configuracion])
    confi_actual = connection.execute(query).fetchone()
    query_aux = select([ahora])
    datos_actuales = connection.execute(query_aux).fetchone()
    print(datos_actuales)
    time.sleep(8)

1 Ответ

0 голосов
/ 11 апреля 2020

Вы можете указать компоненты, которые нужно выбрать в запросе в вашем сеансе. А затем используйте, например, all(), чтобы получить весь вход. Пожалуйста, посмотрите на следующий пример:

import sqlalchemy as sa
from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()

...

class Ahora(Base):
    __tablename__ = 'ahora'
    id = sa.Column(sa.Integer, primary_key=True)
    temperatura: int = sa.Column(sa.Float)
    ...

...

engine = create_engine('mysql+pymysql://javi:javiersolis12@10.0.0.20/Tuti')
session = Session(engine)
query = session.query(Ahora)
# some actions with query, for example filter(), limit(), etc
ahora = query.all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...