我正在创建一个小型 wiki 应用程序并使用 lastmodified_at 属性 ( auto_now
)。现在我想计算一下我的页面的浏览量。
我的第一个想法是在我的 wiki 文章对象中添加一个字段,并在showArticle
调用视图时将其体现为一个。
不幸的是,这也会导致lastmodified_at
更新。
是否有另一种可能性然后创建一个包含 article_id 和计数器的额外表或删除/重建我的auto_now
属性?
谢谢!
我正在创建一个小型 wiki 应用程序并使用 lastmodified_at 属性 ( auto_now
)。现在我想计算一下我的页面的浏览量。
我的第一个想法是在我的 wiki 文章对象中添加一个字段,并在showArticle
调用视图时将其体现为一个。
不幸的是,这也会导致lastmodified_at
更新。
是否有另一种可能性然后创建一个包含 article_id 和计数器的额外表或删除/重建我的auto_now
属性?
谢谢!
我很想有一个单独的模型来跟踪带有 FK 到您的文章模型的页面浏览量。
例如
class ArticleViewCount(model):
counter = models.PositiveIntegerField()
article = models.OneToOneField(Article)
然后您可以使用文章相关字段从模板中调用页数
已经有几个答案:
例如,不要直接使用 auto_now,在保存之前覆盖保存或更改字段的 auto_now 属性。
如果您想保留 auto_now,我将提供另一种肮脏的方法:
class Temp(models.Model):
test = models.CharField(max_length=255)
updated = models.DateTimeFeild(auto_now=True)
def save_without_updated(self):
self._meta.get_field("updated").auto_now = False
# self.meta.auto_created = False
self.save()
# self.meta.auto_created = True
self._meta.get_field("updated").auto_now = True