Я отражаю нагрузку таблиц в выходящей mysql db. Я хочу выразить, что любые столбцы определенного имени в любой таблице по умолчанию равны datetime.now(). Однако наивно зацикливание по таблицам и столбцам и просто установка по умолчанию для тех, которые я нахожу, которые имеют определенное имя, не работают, когда вы делаете session.add(); session.flush() я получаю следующее сообщение об ошибке:.Переопределить значение по умолчанию в квадратных таблицах sqlalchemy
AttributeError: 'builtin_function_or_method' object has no attribute '__visit_name__'
Это, казалось бы, связали в вызове _set_parent (и это self._init_items(*toinit)
по линии 721 в sqlalchemy.schema
Кто-нибудь знает если есть способ сделать это без прохождения всех моих отраженных таблиц и добавления строк столбца (..), где все делает то же самое или прибегает к действительно уродливым взломам?
Благодарности Муравьев, это определенно был бы мой Предпочтительнее подход на каждой из таблиц баз, однако я отражая сразу несколько таблиц, и я хочу, чтобы правило применялось ко всей таблице с этим конкретным именем столбца, поэтому я отмечаю свой ответ ниже как предпочтительный (если нечеткий) ответ. –
См. Также [extend_existing = True] (http://docs.sqlalchemy.org/en/latest/core/metadata.html#sqlalchemy.schema.Table.params.extend_existing) – michaell