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