16
При переопределении метода save() конкретной модели можно ли определить, является ли это новой записью или обновлением?Как вы обнаруживаете новый экземпляр модели в модели Django.save()
При переопределении метода save() конкретной модели можно ли определить, является ли это новой записью или обновлением?Как вы обнаруживаете новый экземпляр модели в модели Django.save()
Если self.pk
является None
, это новая запись.
def save(self):
if self.pk is None:
self.created = datetime.today()
self.modified = datetime.today()
super(ProjectCost, self).save()
Эта тема обсуждалась также here
Пожалуйста, дайте мне здесь отметить, что Django имеет встроенные ключевые слова для записи даты объектных созданий и изменений: вы можете использовать '' auto_now' и auto_now_add' параметры 'DateTimeField' в определении модели. – gklka
pk не 'None', если вы используете UUIDField для pk - даже если экземпляр является новым. – user3467349
это сработало для меня. Благодарю. –