Я новичок в 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
и запросить его.
Например, чтобы получить 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)