Знакомы с Python и PostgreSQL? Проверьте, удастся ли вам устранить путаницу с билетами.
Нужно использовать транзакции в PostgreSQL с уровнем изоляции SERIALIZABLE или REPEATABLE READ
В данном случае рекомендуется использовать FOR UPDATE для блокировки записей при выполнении SELECT
`SELECT * FROM tickets WHERE place=%place AND flight_id=%flight_id FOR UPDATE``UPDATE tickets SET reserved_by=%user_id WHERE id=%ticket_id`
.
Нужно использовать транзакции в PostgreSQL с уровнем изоляции SERIALIZABLE или REPEATABLE READ
В данном случае рекомендуется использовать FOR UPDATE для блокировки записей при выполнении SELECT
`SELECT * FROM tickets WHERE place=%place AND flight_id=%flight_id FOR UPDATE`
`UPDATE tickets SET reserved_by=%user_id WHERE id=%ticket_id`
.