Articles of sqlalchemy

¿Cómo defino una relación SQLAlchemy que representa el último objeto en una colección?

Tengo un modelo SQLAlchemy con una relación de uno a varios entre la tabla x y la tabla y . El registro (si lo hay) con el id más grande en la tabla y donde y.x_id = x.id es especial. La clase X y la clase Y asignan tablas x e y . Sé cómo […]

Manejar SQLAlchemy desconectar

Estoy usando SQLAlchemy para mi aplicación Flask y acabo de encontrar algunos problemas con la conexión cerrada a mi base de datos MySQL. Estoy configurando mi conexión como esta en mi __init__.py engine = create_engine(‘mysql://user:pass@localhost/db’, pool_recycle=3600) db = SQLAlchemy(app) (Estoy usando ambas formas de consultar mi base de datos) Acabo de agregar la configuración de […]

¿Cómo extender la funcionalidad `getter` de la asociación_proxy de SQLAlchemy?

Edición: me gustaría modelar una relación de 1 to 0:1 entre el User y el Comment (un usuario puede tener cero o un comentario). En lugar de acceder al Comment del objeto, preferiría acceder directamente al comentario en sí. El uso de SQLAlchemys association_proxy funciona perfecto para ese escenario, excepto por una cosa: acceder a […]

Uso de pyodbc cause error: no se encontró el nombre de la fuente de datos y no se especificó un controlador predeterminado

Estoy usando pyodbc para conectar SQL Server. Había creado una cadena de conexión como esta: from sqlalchemy import Table, Column, databases, Integer, String, ForeignKey, create_engine from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import session engine = create_engine(‘mssql+pyodbc://sa:123@localhost/TrainQuizDB’) engine.connect() TrainQuizDB es el nombre de la base de datos que creé en el servidor Sql. Para obtener más […]

Sqlalchemy: Consulta sobre relaciones m2m para clases polimórficas

Tengo dos clases que están conectadas a través de una relación de muchos a muchos: Parent y Tag . Base = declarative_base() association_table = Table(‘associations’, Base.metadata, Column(‘parent_id’, Integer, ForeignKey(‘parent.id’)), Column(‘tag_id’, Integer, ForeignKey(‘tag.id’)), ) class Tag(Base): __tablename__ = ‘tags’ id = Column(Integer, Sequence(‘tag_id_seq’), primary_key=True) name = Column(String) class Parent(Base): __tablename__ = ‘parents’ id = Column(Integer, Sequence(‘parent_id_seq’), […]

Error de relación SQLAlchemy: el objeto no tiene atributo ‘c’

Utilicé sqlautocode para generar mi modelo y todas las relaciones. Estoy tratando de hacer una consulta simple como obj = session.query(Venue).filter(Venue.symbol==”CARNEGIE_HALL”).one() Por alguna razón sigo recibiendo este mensaje de error: File “/usr/lib64/python2.6/site-packages/sqlalchemy/orm/relationships.py”, line 331, in _annotate_present_fks secondarycols = util.column_set(self.secondary.c) AttributeError: ‘Event’ object has no attribute ‘c’ Si comento las definiciones de relación, entonces la consulta […]

Alquimia SQL Unir múltiples columnas de la misma tabla

class Match(Base): __tablename__ = ‘matches’ id = Column(Integer, primary_key=True) date = Column(Date, nullable=False) time = Column(Time, nullable=True) league_id = Column(ForeignKey(‘leagues.id’), nullable=False, index=True) league = relationship(‘League’, backref=’matches’) type = Column(enums.matches_types) home_team_id = Column(ForeignKey(‘teams.id’), nullable=False, index=True) home_team = relationship(‘Team’, foreign_keys=[home_team_id], backref=’home_matches’) away_team_id = Column(ForeignKey(‘teams.id’), nullable=False, index=True) class Team(Base): __tablename__ = ‘teams’ id = Column(Integer, primary_key=True) name = […]

Definición de una tabla con sqlalchemy con una marca de tiempo de mysql unix

De fondo, hay varias formas de almacenar fechas en MySQ. Como una cadena, por ejemplo, “09/09/2009”. Como entero utilizando la función UNIX_TIMESTAMP (), esta es supuestamente la representación tradicional de tiempo de Unix (usted sabe segundos desde la época más / menos segundos de salto). Como un TIMESTAMP de MySQL, un tipo de datos específico […]

¿Cómo crear una consulta basada en literal en sqlalchemy?

Creé una función para crear expresión. def test(operator1, operation, operator2): return literal_column(operator1).op(operation)(operator2) Ahora cuando lo llamo con test(1, ‘=’, 1) entonces funciona Pero cuando paso test(‘abc’, ‘=’, ‘abc’) Entonces da error que abc no es una columna. Traté de convertirlo def test(operator1, operation, operator2): return literal_column(operator1, String).op(operation)(operator2) Pero eso no estaba funcionando. Esto funcionará si […]

¿Conectar SQLAlchemy ORM con los objetos de la expresión del núcleo sql?

Tengo que usar la expresión Core de SQLalchemy para recuperar objetos porque ORM no puede hacer “actualizar y devolver”. (La actualización en ORM no tiene returning ) from sqlalchemy import update class User(ORMBase): … # pure sql expression, the object returned is not ORM object. # the object is a RowProxy. object = update(User) \ […]