3

我正在创建一个小型 wiki 应用程序并使用 lastmodified_at 属性 ( auto_now)。现在我想计算一下我的页面的浏览量。

我的第一个想法是在我的 wiki 文章对象中添加一个字段,并在showArticle调用视图时将其体现为一个。

不幸的是,这也会导致lastmodified_at更新。

是否有另一种可能性然后创建一个包含 article_id 和计数器的额外表或删除/重建我的auto_now属性?

谢谢!

4

2 回答 2

2

我很想有一个单独的模型来跟踪带有 FK 到您的文章模型的页面浏览量。

例如

class ArticleViewCount(model):
    counter = models.PositiveIntegerField()
    article = models.OneToOneField(Article)

然后您可以使用文章相关字段从模板中调用页数

于 2013-04-08T15:16:30.313 回答
0

已经有几个答案:

例如,不要直接使用 auto_now,在保存之前覆盖保存或更改字段的 auto_now 属性。

暂时禁用 auto_now / auto_now_add

如果您想保留 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
于 2013-04-08T15:15:49.983 回答