Django: лучший способ создавать журналы при массовом обновлении модели

Я разрабатываю систему Django, в которой у меня есть основная модель и модель журнала / истории для записи изменений. Моя основная модель:

class Modelo(models.Model):
    user_a = models.ForeignKey(User, on_delete=models.CASCADE, related_name="delegated_signatures")
    user_b = models.ForeignKey(User, on_delete=models.CASCADE, related_name="received_delegations")
    is_active = models.BooleanField(default=True)
    created_at = models.DateTimeField(auto_now_add=True)

И историческая модель:

class ModeloLogHistory(models.Model):
    modelo = models.ForeignKey(Modelo, on_delete=models.CASCADE)
    changed_by = models.ForeignKey(User, on_delete=models.DO_NOTHING)
    change_type = models.CharField(max_length=50, choices=ChangeType.CHOICES)
    previous_data = models.JSONField(null=True, blank=True)
    new_data = models.JSONField(null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True)

Логика хорошо работает для отдельных изменений, но существует сценарий, при котором администратор может деактивировать все записи сразу (is_active = False). Это может привести к появлению большого объема журналов в базе данных, что заставит меня задуматься о наилучшем подходе к эффективной обработке этих изменений.

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