使用 Django Activity Stream 获取由 Verb 过滤的所有 Action

Get all Actions filtered by Verb with Django Activity Stream

我对 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 class 并对其进行查询。

例如,要获得所有带有动词 的动作的 queryset 添加了新的 post生成于 2018 年 9 月 20 日至 24 日,您可以这样做

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)