Open robinvandernoord opened 1 year ago
This is actually tracked in https://github.com/emmett-framework/firestorm/issues/5 Some ORM issues were moved there because of #309
Specifically regarding your suggestions, actually:
User.get(1)
does not return a User
object. It returns a dynamic class UserRow
generated by the User
model which is actually a subclass of StructuredRow
.
So while binding types to fields would be easy, managing type hints on several ORM functions will be more complicated.
Btw I just saw you made https://github.com/trialandsuccess/TypeDAL, so even if I didn't check the code, I think it could be a starting point also for the Emmett ORM.
Since according to the documentation field types are hinted to specific Python objects, it would be great to be able to type hint the result of queries as a specific model with the right types for each property.
Of course, assigning to
Field()
can't figure out the right type, but maybe doingname = Field.string()
can provide this behavior? Possibly, this could interfere with Query creation but it would be a really nice feature to have IntelliSense for database rows. It's just a suggestion, for now I will just use my own subclass of Field: