Я пишу быстрый и грязный сценарий обслуживания для удаления некоторых строк и хотел бы избежать переноса моих классов / отображений ORM из основного проекта.У меня есть запрос, который выглядит примерно так:
address_table = Table('address',metadata,autoload=True)
addresses = session.query(addresses_table).filter(addresses_table.c.retired == 1)
В соответствии со всем, что я прочитал, если я использовал ORM (не просто таблицы) и передал что-то вроде:
addresses = session.query(Addresses).filter(addresses_table.c.retired == 1)
Я мог бы добавить .delete()
к запросу, но когда я пытаюсь сделать это, используя только таблицы, я получаю жалобу:
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_'
Это имеет смысл как таблица, а не класс,Я довольно зеленый, когда дело доходит до SQLAlchemy, как я должен идти об этом?