A nice shortcut for group count queries with Django
MIT License
A nice shortcut for group count queries with Django
Visit.objects.top('browser')
# {
# 'Chrome': 63,
# 'Safari': 50,
# 'Firefox': 34
# }
Run:
pip install hightop
Add a custom manager to the models where you want to use it.
from hightop import HightopQuerySet
class Visit(models.Model):
objects = HightopQuerySet.as_manager()
And query away
Visit.objects.top('browser')
Limit the results
Visit.objects.top('referring_domain', 10)
Include null values
Visit.objects.top('search_keyword', null=True)
Works with multiple groups
Visit.objects.top(['city', 'browser'])
And expressions
Visit.objects.top(Lower('referring_domain'))
And distinct
Visit.objects.top('city', distinct='user_id')
And min count
Visit.objects.top('city', min=10)
View the changelog
Everyone is encouraged to help improve this project. Here are a few ways you can help:
To get started with development:
git clone https://github.com/ankane/hightop.py.git
cd hightop.py
pip install -r requirements.txt
pytest