我有一堆不同的字段,如first_name,last_name等的模型。我也有字段first_name_ud,last_name_ud等,它們對應於相關字段的最後更新日期(即,當first_name被修改時,則first_name_ud被設置爲當前日期)。當一個不同的字段被改變時自動更新字段
是否有辦法讓這種情況自動發生,或者我需要檢查每次保存對象時更改哪些字段,然後更新相關的「_ud」字段。
非常感謝!
我有一堆不同的字段,如first_name,last_name等的模型。我也有字段first_name_ud,last_name_ud等,它們對應於相關字段的最後更新日期(即,當first_name被修改時,則first_name_ud被設置爲當前日期)。當一個不同的字段被改變時自動更新字段
是否有辦法讓這種情況自動發生,或者我需要檢查每次保存對象時更改哪些字段,然後更新相關的「_ud」字段。
非常感謝!
可更新兩個字段或使用服務器端觸發器的write Field
children。
感謝您的幫助。我最終修改了模型的保存方法,我認爲它會起作用:
def save(self):
current_date = date.today()
if self.id:
try:
old = UserProfile.objects.get(pk = self.id)
fields = UserProfile._meta.fields
for field in fields:
field_name = field.name
date_name = field_name + '_ud'
if not field_name.endswith('_ud') and date_name in fields:
if self.__dict__[field_name] != old.__dict__[field_name]:
self.__dict__[date_name] = current_date
self.date_updated = current_date
except UserProfile.DoesNotExit:
pass
super(UserProfile, self).save()