@pawelreise yeah, for now using a pillow to write to a readonly reporting table sounds like a good plan. we may want to build on something like https://github.com/django-mptt/django-mptt/ for it since i think even your proposed solution could likely be slow as that table gets huge. but will let you investigate and decide. let's make sure that the table is referenced via a clean API and in as few places as possible so that changing it later won't involve editing a lot of code and will be centralized.