From 7e6b537f5b92be152779fc492bb908d27fe7c52a Mon Sep 17 00:00:00 2001 From: Alex Morega Date: Tue, 23 Aug 2022 12:55:30 +0300 Subject: [PATCH] Fixed #33939 -- Used functools.partial() in transaction.on_commit() examples. --- docs/topics/db/transactions.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/topics/db/transactions.txt b/docs/topics/db/transactions.txt index d87f31af26..b4c3fbba48 100644 --- a/docs/topics/db/transactions.txt +++ b/docs/topics/db/transactions.txt @@ -308,9 +308,11 @@ Pass any function (that takes no arguments) to :func:`on_commit`:: transaction.on_commit(do_something) -You can also wrap your function in a lambda:: +You can also bind arguments to your function using :func:`functools.partial`:: - transaction.on_commit(lambda: some_celery_task.delay('arg1')) + from functools import partial + + transaction.on_commit(partial(some_celery_task.delay, 'arg1')) The function you pass in will be called immediately after a hypothetical database write made where ``on_commit()`` is called would be successfully