ビュー内のtransaction.atomic()内にコードブロックがあります。私の質問は、djangoはいくつかのinbuiltテーブルをバックグラウンドでロックを作成しますか?djangoでアトミックトランザクションを作成すると、自動的にロックが作成されますか?
with transaction.atomic():
#code block that does database operations
update_user() #this updates user table
create_customer_products() #this updates user id to customer products table
なぜなら、コードブロックを実行すると、「ロック待機タイムアウトを超えました;トランザクションを再起動してください」エラーが発生するからです。セットアップは、InnoDBのテーブル内のレコードを変更または挿入するためにCentOSの
環境を記述し、関連コードを追加してください。 –
これはMySQLから返されたエラーです。 https://stackoverflow.com/questions/5836623/getting-lock-wait-timeout-exceeded-try-restarting-transaction-even-though-im – planet260
はいこれはmysqlから返されたエラーです。そして、これは、transaction.atomic()が使用されているときにdjangoによってロックが設定されているかどうか疑問に思う。私はテーブルをどこにでもロックしていないからです。 –