Получить все действия, отфильтрованные по глаголу с потоком активности Django
Я совершенно новичок в 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]
Я надеюсь, что кто-нибудь может мне помочь! заранее спасибо
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)