Django Save Occasionally Fails

У нас есть код, как показано ниже, и при выполнении process_something иногда поля не обновляются после успешного выполнения process_something3. Большую часть времени он работает нормально, но иногда он просто не обновляет все упомянутые поля в функциях

from django.db import models


class DjangoObject(models.Model):
    field1 = models.PositiveSmallIntegerField()
    field2 = models.DateField()
    field3 = models.PositiveSmallIntegerField()

    def process_something(self):
        # Do something here
        self.save(update_fields=['field1'])
        
        self.process_something2()
    
    
    def process_something2(self):
        # Do asynchronous process
        self.process_something3()
    
    
    def process_something3(self):
        # Do another thing here
        self.save(update_fields=['field2', 'field3'])

Насколько я знаю, это происходит только здесь, поэтому я подозреваю, что это вызвано состоянием гонки при сохранении на одном и том же объекте. Действительно ли это так или есть другая причина и как ее устранить?
Версия Django - 3.2.9
Версия Postgresql - psql (PostgreSQL) 12.7 (Ubuntu 12.7-0ubuntu0.20.04.1)
Асинхронный процесс с использованием [django-rq](https://github.com/rq/django-rq)

Вернуться на верх