2015-06-27 52 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 
    """