We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 21b7066 commit ce2a95dCopy full SHA for ce2a95d
1 file changed
ansible_base/oauth2_provider/models/access_token.py
@@ -82,6 +82,9 @@ def is_valid(self, scopes=None):
82
self.last_used = now()
83
84
def _update_last_used():
85
+ # QuerySet.update() is used instead of save() to avoid a race condition
86
+ # where concurrent requests updating last_used can cause DatabaseError.
87
+ # This is safe because last_used is a trivial field with no save() side effects.
88
OAuth2AccessToken.objects.filter(pk=self.pk).update(last_used=self.last_used)
89
90
connection.on_commit(_update_last_used)
0 commit comments