Вы хотите первый случай.То, что вы делаете, говорит SqlAlchemy, что всякий раз, когда вставляется строка, запускайте эту функцию (вызывается), чтобы получить значение по умолчанию.Это может быть любая вызываемая функция или строковое значение.
Таким образом, функция вызывается точно во время вставки, и вы получаете правильную дату, когда она была вставлена.
Если вы используете второе значение, вы обнаружите, что все значения по умолчанию имеют одну и ту же дату и время.Это будет значение, которое появилось при первой обработке кода.
http://www.sqlalchemy.org/docs/core/schema.html?highlight=default#sqlalchemy.schema.ColumnDefault
This could correspond to a constant, a callable function, or a SQL clause.