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)