Если вы не используете отношения SQLAlchemy в своих объектах ORM, вам придется вручную работать с внешними ключами.Это означает, что вы должны сначала создать родительский объект, получить его первичный ключ из базы данных и использовать этот ключ во внешнем ключе ребенка:
def retrieve_objects():
session = DBSession()
return session.query(SomeClass).all()
def insert_objects():
session = DBSession()
for obj in retrieve_objects():
another_obj = AnotherClass(somefield=0)
session.add(another_obj)
session.flush() # generates the pkey for 'another_obj'
obj.someforeignkey = another_obj.id # where id is the pkey
session.add(obj)
transaction.commit()