0

我对 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]

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

4

1 回答 1

2

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

例如,要获取在2018 年 9 月 20 日至 24 日之间生成queryset的带有动词added new post的所有操作,您可以这样做

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)
于 2018-09-24T06:11:01.603 回答