Получите все действия, отфильтрованные по verb, с помощью 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]

Я надеюсь, что кто-нибудь сможет мне помочь! заранее спасибо

0
0
571
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете импортировать класс actstream.models.Action и запросить его.

Например, чтобы получить queryset всех действий с глаголом добавлен новый пост, который был сгенерирован между 20 и 24 сентября 2018 г., вы можете сделать это

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)

Другие вопросы по теме