我定义了一个简单的模型,并在类中添加了一些非SQL相关的属性.
如果属性是int或string类型的东西正在工作.但如果它是字典或列表类型,那么神奇地在模型类的所有不同实例上使用相同的列表.
例:
# Sample model class
class TestClass(Base):
# SQL Mappings
__tablename__ = 'test1'
pid = Column("id", Integer, primary_key=True)
name = Column('name', String)
# Non SQL related attributes
works_var = 0
works_not_var = []
# ...
Run Code Online (Sandbox Code Playgroud)
在查询处理检索到的TestClass实例之后的其他地方
my_test_class.works_not_var.append("testval1")
my_test_class2.works_not_var.append("testval2")
Run Code Online (Sandbox Code Playgroud)
不知何故,两个附加值最终都在同一个列表中:
print id(my_test_class.works_not_var)
print id(my_test_class2.works_not.var)
Run Code Online (Sandbox Code Playgroud)
我的是一样的.但它适用于"works_var".我有不同的.