我正在使用一个使用SQLAlchemy的房间预订应用程序,并与会话一起使用。到目前为止,该应用程序运行良好,但是我测试了两个人同时使用不同用户帐户使用它时,可以在同一房间和时间段内进行预订。
当只使用一个帐户时,这种情况没有发生。我测试了很多次房间检查代码,因此必须是并发问题(两个用户同时使用检查为空并进行预订)。我正在使用PostgreSQL作为DBMS,是否有一种方法可以在提交到DB时锁定表,然后在完成时解锁它?
我正在使用一个使用SQLAlchemy的房间预订应用程序,并与会话一起使用。到目前为止,该应用程序运行良好,但是我测试了两个人同时使用不同用户帐户使用它时,可以在同一房间和时间段内进行预订。
当只使用一个帐户时,这种情况没有发生。我测试了很多次房间检查代码,因此必须是并发问题(两个用户同时使用检查为空并进行预订)。我正在使用PostgreSQL作为DBMS,是否有一种方法可以在提交到DB时锁定表,然后在完成时解锁它?
有关更多信息,请参见Jeff Davis的此博客文章,他想出了这个想法并实现了它。