Получить все действия, отфильтрованные по глаголу с потоком активности 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)
Другие вопросы по тегам