As to the ForeignKeyAcrossDb
part, couldn't you possibly make some adjustments to your class inside __init__
? Check if the appropriate field is Integer
if not, load it from the database, or do anything else that is required. Python __class__
es can be changed at runtime without much problem.