2015-06-27 77 views
5

我在Django模型有一個的updated_at場,看起來像這樣在野外更新:在Django模型

class Location(models.Model): 
    updated_at = models.DateTimeField(auto_now=True, default=timezone.now()) 

如果模型剛剛創建它保存在模型中的updated_at首次創建當前時間領域。如果模型在過去一小時內更新,我正在使用它來做一些特殊的事情。問題是,如果模型在過去一小時內更新,而不是模型創建,我只想這樣做。如何區分模型是否在過去一小時內更新或者模型是否在過去一小時內創建?

+0

你也可以嘗試下面的插件https://pypi.python.org/pypi/django-timestampable-model/0.1.3 – Laky

回答

11

我只想對模型2場,一個用於創建一個記錄,如果你使用Django的模型utils的你也可以繼承的TimeStampedModel,同時具有更新時間這樣

class Location(models.Model): 
    created_at = models.DateTimeField(auto_now_add=True) 
    updated_at = models.DateTimeField(auto_now=True) 

創建和修改字段。

#Django model utils TimeStampedModel 
class TimeStampedModel(models.Model): 
    """ 
    An abstract base class model that provides self-updating 
    ``created`` and ``modified`` fields. 

    """ 
    created = AutoCreatedField(_('created')) 
    modified = AutoLastModifiedField(_('modified')) 

    class Meta: 
     abstract = True 

class Location(TimeStampedModel): 
    """ 
    Add additional fields 
    """