Django проблема обновления поля даты при обновлении записи

У меня возникла проблема, когда я пытаюсь обновить поле с именем date_updated. Я хочу, чтобы каждый раз, когда запись обновляется, поле date_updated этой записи обновлялось на дату изменения. Это поле и еще одно поле я располагаю внутри класса Base, а затем в каждой модели я наследую этот класс, чтобы повторить поля.

class Base(models.Model):
    ...
    date_updated = models.DateTimeField(auto_now=True)

    def save(self, *args, **kwargs):
        self.date_updated = django.timezone.now()
        super(Base, self).save(*args, **kwargs)

    class Meta:
        abstract = True


class OtherClass(Base):
    ...

Я хочу, чтобы при обновлении любой записи в OtherClass, ее поле date_updated обновлялось.

Я также попробовал добавить перезапись метода сохранения в OtherClass, но результат тот же. Дата сохраняется после того, как я вношу изменения.

Я делаю изменения с помощью .update(**data_to_update)

Я сделал это, когда хотел обновить только столбец updated_on (datetime): Это может помочь вам:

from datetime import datetime

def get_current_datetime_str():
    now = datetime.now()
    return now.strftime("%Y-%m-%d %H:%M:%S")
    
class ModelName(models.Model):
    date_updated=models.CharField(max_length=100) #whatever your field is
    ...
    def __str__(self):
        return self.name

продолжите и напишите это ниже def str(self):

def save(self, *args, **kwargs):
    self.date_updated = get_current_datetime_str()
    super().save(*args, **kwargs)
Вернуться на верх