I might go with either a lightweight "migration" framework to fill in default values or require default values on new properties. From the perspective of going through the Python model classes they might appear the same. The latter is probably easier & nicely readable, while the former gives better integrity when bypassing Python (if that ever happens).