Here is an excellent article which shows just how to do that: https://rescale.com/using-database-views-in-django-orm/
The objective is to have read-only, analysis database views for derivative data that is based on aggregation of the actual data tables. I think this should be best practice and probably be natively supported from Django.