"""Tiny code to test SQLAlchemy""" from datetime import datetime from sqlalchemy import Column, DateTime, String, Integer, Float, Boolean, ForeignKey from sqlalchemy.orm import relationship, backref from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() class Sensor(Base): __tablename__ = 'sensor' address = Column(Integer, primary_key=True) type = Column(String) zone = Column(String) class Record(Base): __tablename__ = 'record' id = Column(Integer, primary_key=True) datetime = Column(DateTime) address = Column(Integer, ForeignKey('sensor.address')) sensor = relationship(Sensor, backref=backref('records', uselist=True)) valid_auth = Column(Boolean) value = Column(Float) if __name__ == "__main__": from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker engine = create_engine('sqlite:///') session = sessionmaker() session.configure(bind=engine) Base.metadata.create_all(engine) s = session() zones = ['chambre', 'salon', 'cuisine'] sensors = [161, 162, 163] for zone, address in zip(zones, sensors): s.add(Sensor(address=address, type='temp', zone=zone)) s.commit() for sensor in s.query(Sensor).all(): print(f"{sensor.address}: type={sensor.type}, zone={sensor.zone}") s.close()