class ConcurrentModel(models.Model):
    _change = models.IntegerField(default=0)


class Meta:
    abstract = True

def save(self, *args, **kwargs):
    cls = self.__class__
if self.pk:
    rows = cls.objects.filter(pk=self.pk, _change=self._change).update(_change
        =self._change + 1)
if not rows:
    raise ConcurrentModificationError(cls.__name__, self.pk)
self._change += 1
super(ConcurrentModel, self).save(*args, **kwargs)
Параллельный контроль в модели Django