Articles of sqlalchemy

SQLalchemy con jerarquía de múltiples objetos

Estoy tratando de construir una jerarquía de objetos usando SQLAlchemy en el marco de Pyramid. Tengo una jerarquía de trabajo configurada – actualmente un objeto C tiene B como su padre, que tiene A como su padre. Pero necesito cambiarlo para que el modelo B pueda tener A, B o C como padre, etc. Intenté […]

SQLAlchemy con count, group_by y order_by usando el ORM

Tengo varias funciones en las que necesito hacer una combinación de uno a muchos, usando count (), group_by y order_by. Estoy usando la función sqlalchemy.select para generar una consulta que me devolverá un conjunto de ID, que luego hago una selección de ORM en los registros individuales. Lo que me pregunto es si hay una […]

SQLAlchemy imprime el SQL enviado a la base de datos por sesión

Me gustaría imprimir el código que una sesión particular genera y envía a la base de datos. He visto esta pregunta pero se hace eco de todo el SQL que genera SQLAlchemy. Quiero solo el SQL generado en nombre de una sesión en particular. Puntos de bonificación si pueden imprimirse antes de que realmente se […]

Columna de consulta personalizada SQLAlchemy

Tengo una tabla declarativa definida así: class Transaction(Base): __tablename__ = “transactions” id = Column(Integer, primary_key=True) account_id = Column(Integer) transfer_account_id = Column(Integer) amount = Column(Numeric(12, 2)) … La consulta debe ser: SELECT id, (CASE WHEN transfer_account_id=1 THEN -amount ELSE amount) AS amount FROM transactions WHERE account_id = 1 OR transfer_account_id = 1 Mi código es: query […]

Frasco – WTForm – guardar formulario en db

Tengo problemas para guardar la forma (wtf) en (sqlalchemy) db, la forma se está renderizando, pero después de enviar no pasa nada … p.ej : 127.0.0.1 – – [30/Dec/2013 10:30:24] “POST /add/ HTTP/1.1” 200 – Estaba intentando guardar sin validadores p.ej : name = TextField(‘Task Name’) Y yo estaba tratando de guardar la forma de […]

Inyección SQL en pandas; Lista de enlaces a params en SQLAlchemy

Tengo esta consulta SQL: sql = “select * from table where date in {dl}” donde dl es una tupla de dátiles. Puedo hacer la consulta haciendo string.format(dl=…) luego utilizando read_sql_query en pandas, pero leí que esto podría conducir a la inyección de SQL y por lo tanto no es seguro. Sin embargo, no parece haber […]

SQLAlchemy / WTForms: establecer el valor seleccionado predeterminado para QuerySelectField

Este [ejemplo] [1] para configurar un formulario con WTForms y SQLAlchemy en Flask y agregar un QuerySelectField al formulario funciona. No estoy usando flask.ext.sqlalchemy , mi código: ContentForm = model_form(Content, base_class=Form) ContentForm.author = QuerySelectField(‘Author’, get_label=”name”) myform = ContentForm(request.form, content) myform.author.query = query_get_all(Authors) Ahora quiero establecer el valor predeterminado de la lista de selección de QuerySelectField […]

¿Cómo usar make_transient () para duplicar un objeto mapeado SQLAlchemy?

Sé que la pregunta de cómo duplicar o copiar un objeto mapeado SQLAlchemy se me hizo muchas veces. La respuesta siempre depende de las necesidades o de cómo se interpreta “duplicar” o “copiar”. Esta es una versión especializada de la pregunta porque obtuve la sugerencia de usar make_transient() para eso. Pero tengo algunos problemas con […]

Problemas con scoped_session en sqlalchemy: ¿cómo funciona?

No estoy realmente seguro de cómo funciona scoped_session, aparte de que parece ser una envoltura que oculta varias sesiones reales, manteniéndolas separadas para diferentes solicitudes. ¿Hace esto con los locales de hilo? De todos modos el problema es el siguiente: S = elixir.session # = scoped_session(…) f = Foo(bar=1) S.add(f) # ERROR, f is already […]

Pyramid / SQL Alchemy DetachedInstanceError

Estoy tratando de implementar la confirmación de correo electrónico utilizando el marco Pyramid. Aquí está el código que confirma al usuario en la base de datos y los redirige a la página de inicio. user = DbSession.query(User).filter_by(email=email).one() if user.approved: return {‘msg’: _(‘Already approved’)} if user.check_approve_token(hash): user.approved = True self.request.session.save() self.request.session[‘user’] = user return HTTPFound(self.request.route_url(‘home’), headers=remember(self.request, […]