/django-report-builder

A GUI for Django ORM. Build custom queries and display results. This fork supports both Django version 4 and 5.

Primary LanguagePythonOtherNOASSERTION

django-report-builder

A GUI for Django ORM. Build custom queries and display results. Targets sys admins and capable end users who might not be able to program or gain direct interactive shell access.

Works as expected on Django 5 also.

News

6.5.7

  • Remove mis-import

6.5.6

  • Fix dynamically static-file path generating
  • Remove redundant code

6.5.5

  • Remove six dependency
  • Replace deprecated openpyxl save_virtual_workbook func. (Cherry-picked from @tmszi's fork)

6.5.4

  • Create AutoField to BigAutoField convertion migration

6.5.3

  • Fix "Router with basename "report" is already registered" error

6.5

  • Make compatible for Django >4. Project's GitLab Repo merged into this fork and Django 4 compatibility changes were made.

View more on the CHANGELOG.

What is Django Report Builder?

Features

  • Add filters
  • Add display fields
  • Preview and create xlsx reports
  • Uses Django permissions models - Staff users must have "change" or "view" permission to view reports. Unprivileged users can still build reports and see database schema.
    • Report builder is intended for generally trusted staff users and requires is_staff to be set.
  • Export to Report global admin action
  • Scheduled reports can generate and send to users on cron like schedule
  • Optional asynchronous report generation

Documentation

http://django-report-builder.readthedocs.org/

Google group.

Contributing

Development quick start

This package uses Django in Docker and Angular CLI for development purposes.

  1. Start docker docker-compose up
  2. Migrate and create an admin user docker-compose run --rm web ./manage.py migrate
  3. Start the Angular CLI server. Ensure Node is installed. cd js, yarn, yarn start
  4. Django runs on port 8000 by default. Go to localhost:8000/admin and log in.
  5. Angular runs on port 4200. Now that you are logged in, go to localhost:4200

More detailed instructions are at here