1
我想在保存記錄時更新相關模型時間戳。這裏是我的模型:更新相關模型中的auto_now DateTimeField
class Issue(models.Model):
issueTitle = models.CharField()
issueDescription = models.TextField()
issueCreatedDateTime = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.issueTitle
class IssueHistory(models.Model):
fk_issueID = models.ForeignKey(Issue)
issuehistoryDetail = models.TextField()
issuehistoryCreatedBy = models.ForeignKey(User)
issuehistoryCreatedDateTime = models.DateTimeField(auto_now=True)
def __unicode__(self):
return self.fk_issueID
def save(self): #1.1
# Call parent's `save` function
# Record is saved like it would be normally, without the override
super(IssueHistory, self).save() #1.2
#This is where i believe i should be updating the "issueCreatedDateTime" to the same datetime
這post描述想要的,但最終的代碼是不貼(除非我誤解的話)。
爲了進一步澄清,這是事件的期望的順序:)
- 保存一個新的問題的歷史記錄
- 保存(被覆蓋,使用自定義
- IssueHistory記錄保存
- 相關問題記錄的「issueCreatedDateTime」字段已更新爲當前日期時間
我應該怎麼做?
謝謝,這工作,但我詳細的模型是我的完整模型的子集。當我現在點擊保存時,它也更新字段「issCreatedDateTime = models.DateTimeField(auto_now_add = True)」,這應該只發生在記錄創建? (如果這應該是一個新的問題/帖子,讓我知道) – James 2013-05-09 13:23:24
我的錯誤......它充分發揮作用!謝謝!真棒。 「self.fk_issueID.issueCreatedDateTime = self.issuehistoryCreatedDateTime」這一行實際上應該使用issueUpdatedDateTime字段,儘管(對於我想要的) – James 2013-05-09 13:29:59