2024-09-28 01:31:49 发布
网友
我目前在Cherrypy应用程序中遇到了一个问题。 我自己的自定义会话模块,执行时会话.add同一对象更新两次。在
cherrypy.request.SessionManager.user_data = user try: db_session.add(cherrypy.request.SessionManager) db_session.commit()
会回来的
以前有人见过这个吗?在
另外,在我制作的其他模块中不会发生这种情况。在
好的,很抱歉耽搁了这么久,但我正在度假。在
无论如何,为了防止双重提交,您需要从会话中删除该对象,并使用^{}来执行此操作。在
还有一件事。在
使用^{} 将允许您重用已删除的对象,。在
希望这能帮助有需要的人。在
附言:请注意,一个物体可能会行为不端,或者未来对炼金术的任何修补可能会破坏兼容性。所以亵渎是对的。在
您可以尝试将user_数据添加到会话中,而不是将SessionManager对象本身添加到会话中。这至少会使调试更加简单。在
事实上,我不确定您是否在cherrypy SessionManager中有一个数据库会话,这似乎是不受欢迎的,但也许sqlalchemy可以处理它(?)或者可能正在对数据库中无法同时完成的对象进行多个更改,例如,这可能是某些级联在echo on(?)时的外观。你用的级联值是多少?在
我不确定第二次阅读sql时更新了什么。它看起来只是一些隐含的东西。您可能需要显示这些对象的一些代码,或者导致更新得到更好答案的一些代码。但也许以上的直觉会有所帮助。祝你好运
好的,很抱歉耽搁了这么久,但我正在度假。在
无论如何,为了防止双重提交,您需要从会话中删除该对象,并使用^{} 来执行此操作。在
还有一件事。在
使用^{}
将允许您重用已删除的对象,。在
希望这能帮助有需要的人。在
附言:请注意,一个物体可能会行为不端,或者未来对炼金术的任何修补可能会破坏兼容性。所以亵渎是对的。在
您可以尝试将user_数据添加到会话中,而不是将SessionManager对象本身添加到会话中。这至少会使调试更加简单。在
事实上,我不确定您是否在cherrypy SessionManager中有一个数据库会话,这似乎是不受欢迎的,但也许sqlalchemy可以处理它(?)或者可能正在对数据库中无法同时完成的对象进行多个更改,例如,这可能是某些级联在echo on(?)时的外观。你用的级联值是多少?在
我不确定第二次阅读sql时更新了什么。它看起来只是一些隐含的东西。您可能需要显示这些对象的一些代码,或者导致更新得到更好答案的一些代码。但也许以上的直觉会有所帮助。祝你好运
相关问题 更多 >
编程相关推荐