class User(Model): # 定义类的属性到列的映射: id = IntegerField('id') name = StringField('username') email = StringField('email') password = StringField('password') # 这些属性(列对象model类型)看起来是属于类的,其实只是起提示作用,因为在类的生成过程中(ModelMetaclass)已经删除了这些属性, # 并将列对象(model类型)按属性名保存在一个内部的dict中 # u = User(id=12345, name='Michael', email='test@orm.org', password='my-pwd') # 创建类的实例时,其实又重新添加了同名的对象属性(int,str类型),因为属性类型都不一样了 # 调用save函数生成sql语句时,需要列名和列的值,使用相同的key,从dict中取出列对象(model类型),获得name,从属性中取出列值(int,str类型)
Sign in to make a reply
无量萨姆大神