Skip to main content
 首页 » 编程设计

python之每次编辑对象时,DateField 都会自行清除

2025年05月04日6birdshome

我有以下模型:

class Day(models.Model): 
day = models.DateField() 
title = models.CharField(max_length=20) 
description = models.CharField(max_length=160) 
votes = models.IntegerField(max_length=7) 
last_vote = models.DateTimeField() 
 
def __unicode__(self): 
    return self.title 

每当我这样编辑它时:

current_time = datetime.datetime.now() 
day_to_vote_for.votes += 1 
day_to_vote_for.last_vote = current_time 
day_to_vote_for.save() 

或者每当我通过管理控制面板进行编辑时,它都会重置为空白字段?为什么? Datetime 字段不会发生这种情况。我该如何解决?

人们需要能够指定除现在以外的日期。所以 auto_now_add 将不起作用。就是无缘无故的清场。

请您参考如下方法:

如果您希望在保存字段时使用当前时间戳更新该字段,只需传递 auto_now=True 即可,或者使用 auto_now_add=True 来保存实际创建对象时的时间戳。