My_orm代码中遇到的问题
来源:8-5 自定义元类
			东泽XD
2020-07-23
# 余下代码省略
class BaseModel(metaclass=ModelMetaClass):
	def __init__(self, *args, **kwargs):
        for key, value in kwargs.items():
            setattr(self, key, value)
        return super().__init__()
class User(BaseModel):
    name = CharField(db_column="name", max_length=10)
    age = IntField(db_column="age", min_value=1, max_value=100)
if __name__ == "__main__":
    user = User(name="bobby", age=28)
    print(user.__dict__)
    print(User.__dict__)
这段代码中User继承了Basemodel的__init__方法并且实例化了user对象,但是对象使用__dict__却找不到对象属性是为什么?
写回答
	1回答
- 
				
						bobby
2020-07-24
User.__dict__是类的dict 而setattr(self, key, value)是实例对象的属性
user.__dict__访问的是User类实例的属性,而你只是在BaseModel中使用了init方法 你在User
中覆盖一下这个方法再试试022021-04-17 
相似问题