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
提供一個新對象實例我每次調用它。