0
我想在函数内创建一个类的新实例。第一次创建实例时,虽然当我尝试创建一个额外的实例(通过重新访问路由)时,我收回了对原始对象的引用。如何强制SQLAlchemy类的新实例
这是来自我构建应用程序的方式。请参见下面的简化代码:
@tests.route('/generate_test/<t_type>', methods=['GET'])
def generate_test(t_type):
test_obj = t[t_type]['obj']
...
return test_obj
其中T是一本字典象下面这样:
t = {
'footests': {'obj': FooTest(),
'name': 'Foo Test',
...
},
...
}
由于有许多不同类型的测试,我希望我可以用这个方法来提供所有的额外细节这与某种测试有关。当我第一次产生一个新的测试,测试对象FooTest
是新的,这意味着id = None
等
虽然,我曾经来到过第二次和尝试生成一个新的测试,在字典中的实例t
仍与关联从第一次测试实例,这意味着id = <id_from_last_time>
我试过(都在我的Flask
路线)删掉使用db_session.expunge(test_obj)
和del(test_obj)
对象,但我仍然得到原始对象的引用。
我希望字典t
提供一个新对象实例我每次调用它。