Estoy escribiendo un script de mantenimiento rápido y sucio para eliminar algunas filas y me gustaría evitar tener que traer mis clases ORM/mapeos desde el proyecto principal. Tengo una consulta que tiene un aspecto similar a:Cómo eliminar filas de una tabla con una consulta SQLAlchemy sin ORM?
address_table = Table('address',metadata,autoload=True)
addresses = session.query(addresses_table).filter(addresses_table.c.retired == 1)
De acuerdo con todo lo que he leído, si yo estaba usando el ORM (no 'sólo' tablas) y aprobada en algo así como:
addresses = session.query(Addresses).filter(addresses_table.c.retired == 1)
podría añadir un .delete()
a la consulta, pero cuando trato de hacer esto usando sólo las tablas que conseguir una queja:
File "/usr/local/lib/python2.6/dist-packages/sqlalchemy/orm/query.py", line 2146, in delete
target_cls = self._mapper_zero().class_
AttributeError: 'NoneType' object has no attribute 'class_'
lo cual tiene sentido ya que es una mesa, no una clase. Estoy bastante verde cuando se trata de SQLAlchemy, ¿cómo debería hacerlo?
Gracias. Veo dónde me equivoqué. Una combinación de un viejo tutorial y documentación desactualizada. –