使用 Django Activity 流获取按 Verb 过滤的所有操作



我对Django和Python很陌生,所以也许我的问题可能很愚蠢,但是。

我正在使用Django-Activity-Stream记录用户在我的页面上所做的事情。

现在我正在尝试构建一个页面,其中我将有一个漂亮的图表,根据操作和日期向我显示用户做了什么。

到目前为止一切顺利,直到现在我都使用原始 sql 查询完成了它,但由于 Django 不应该像这样使用,我想计算按它分配给的动词过滤的操作。

我的原始查询如下所示:

cursor = connection.cursor()
cursor.execute("SELECT COUNT(id) FROM actstream_action WHERE verb = %s "
"AND '2018-06-01' <= timestamp AND '2018-06-30' >= timestamp", ['User created'])
row = cursor.fetchone()
return row[0]

我希望有人能帮助我! 提前致谢

您可以导入actstream.models.Action类并对其进行查询。

例如,要获取2018 年 9 月 20 日至 24 日期间生成的带有动词"添加了新帖子"的所有操作queryset,您可以执行此操作

import datetime
from actstream.models import Action
start = datetime.datetime(2018, 9, 20)
end = datetime.datetime(2018, 9, 24)
actions = Action.objects.filter(verb='added new post', timestamp__gt=start, timestamp__lt=end)

最新更新