Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得模型';Django的最后访问日期是?_Django_Python 3.x_Django Models - Fatal编程技术网

如何获得模型';Django的最后访问日期是?

如何获得模型';Django的最后访问日期是?,django,python-3.x,django-models,Django,Python 3.x,Django Models,我正在构建一个Django应用程序,我希望在其中跟踪上次访问特定模型的时间 我选择这个是为了建立一个用户活动历史记录 我知道Django提供了auto_now和auto_now_add,但它们并没有达到我想要的效果。请注意,后一种跟踪方式是在创建模型时跟踪,前一种跟踪方式是在上次修改模型时跟踪,这与上次访问模型时不同 我已尝试将另一个日期时间字段添加到模型的规范中: accessed_on = models.DateTimeField() 然后,我尝试通过在每次访问后调用以下命令手动更新模型的

我正在构建一个Django应用程序,我希望在其中跟踪上次访问特定模型的时间

我选择这个是为了建立一个用户活动历史记录

我知道Django提供了auto_now和auto_now_add,但它们并没有达到我想要的效果。请注意,后一种跟踪方式是在创建模型时跟踪,前一种跟踪方式是在上次修改模型时跟踪,这与上次访问模型时不同

我已尝试将另一个日期时间字段添加到模型的规范中:

accessed_on = models.DateTimeField()
然后,我尝试通过在每次访问后调用以下命令手动更新模型的访问权限:

model.accessed_on = datetime.utcnow()

model.save()
但还是不行

我已经查阅了django文档以获得答案,但找不到答案


非常感谢您的帮助。

嘿,在对这个问题进行了更多的摸索之后,我发现我的代码不起作用的原因是因为它实际上没有在应用程序的更大上下文中执行(我有一个错误的if子句)。尽管如此,Django还是应该为模型包含最后访问的datetime参数。就我而言,这是有道理的。我想如果你花点时间思考一下,你会明白这真的不是Django应该做的事。如果需要,可以实现它。但与日期时间字段(其中包括创建/保存时的更新)不同,这是一个基于各种需求和基础结构的操作,有多种不同的实现方式。因此,没有一种好的方法可以覆盖所有需求,因此它不应该是核心框架的一部分,而是作为第三方应用程序提供。嘿,在对这个问题进行了一点摸索之后,我发现我的代码不工作的原因是因为它实际上没有在应用程序的更大上下文中执行(我有一个错误的if子句)。尽管如此,Django还是应该为模型包含最后访问的datetime参数。就我而言,这是有道理的。我想如果你花点时间思考一下,你会明白这真的不是Django应该做的事。如果需要,可以实现它。但与日期时间字段(其中包括创建/保存时的更新)不同,这是一个基于各种需求和基础结构的操作,有多种不同的实现方式。因此,没有一种好的方法可以覆盖所有需求,因此它不应该是核心框架的一部分,而是作为第三方应用程序提供。