{ "info": { "author": "Rodrigo Herrera, Vitaliy Kucheryaviy, Marc Garcia", "author_email": "rhherrera@gmail.com, ppr.vitaly@gmail.com ,garcia.marc@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "------------------\n django-reporting\n------------------\n\nDjango Reporting is an application that can be integrated with the Django Admin and allows you to create dynamic reports for your models.\nIt is able to consolidate and aggregate data, filter and sort it.\n\n\nNew features\n============\n\n* Django 1.3 support.\n* Group by more than one field, using tuples.\n* Export report data in a CSV file.\n* Generate jqPlot pie or bar charts from report's columns.\n\n\nInstallation\n============\n\nClone repository and do:\n\n python setup.py install\n\nOr just do\n\n pip install django-reporting\n\nto get the latest version from `pypi `_.\n\n\nHow to use it\n=============\n\nAdd to INSTALLED_APPS in an existing django project:\n\nsettings.py ::\n\n INSTALLED_APPS = (\n [...]\n 'reporting',\n 'django.contrib.admin', # admin has to go before reporting in order to have links to the reports\n # on the admin site\n )\n\n\nurls.py ::\n\n\n from django.conf.urls.defaults import *\n from django.contrib import admin\n import reporting # import the module\n \n admin.autodiscover()\n reporting.autodiscover() # autodiscover reports in applications\n \n urlpatterns = patterns('',\n [...]\n (r'^reporting/', include('reporting.urls')),\n )\n\n\nConfigure report\n================\n\nLet's say you have the following schema:\n\nmodels.py ::\n\n class Department(models.Model):\n [...]\n \n class Occupation(models.Model):\n [...]\n \n class Person(models.Model):\n name = models.CharField(max_length=255) \n occupation = models.ForeignKey(Occupation) \n department = models.ForeignKey(Department)\n country = models.ForeignKey(Country)\n birth_date = models.DateField() \n salary = models.DecimalField(max_digits=16, decimal_places=2) \n expenses = models.DecimalField(max_digits=16, decimal_places=2)\n\n\nIn your application create a reports.py\n\nreports.py::\n\n import reporting\n from django.db.models import Sum, Avg, Count\n from models import Person\n \n class PersonReport(reporting.Report):\n model = Person\n verbose_name = 'Person Report'\n annotate = ( # Annotation fields (tupples of field, func, title)\n ('id', Count, 'Total'), # example of custom title for column \n ('salary', Sum), # no title - column will be \"Salary Sum\"\n ('expenses', Sum),\n )\n aggregate = ( # columns that will be aggregated (syntax the same as for annotate)\n ('id', Count, 'Total'),\n ('salary', Sum, 'Salary'),\n ('expenses', Sum, 'Expenses'),\n )\n group_by = [ # list of fields and lookups for group-by options\n 'department',\n ('department','occupation'), # If a tupple is defined would group by all fields in the tupple\n 'department__leader', \n 'occupation', \n ]\n list_filter = [ # This are report filter options (similar to django-admin)\n 'occupation',\n 'country',\n ]\n \n # if detail_list_display is defined user will be able to see how rows was grouped \n detail_list_display = [ \n 'name', \n 'salary',\n 'expenses', \n ]\n \n date_hierarchy = 'birth_date' # the same as django-admin\n \n \n reporting.register('people', PersonReport) # Do not forget to 'register' your class in reports\n\nFor more details see a 'samples' projects inside the repository.\n\n\nMore information\n================\n\n:Date: 05-17-2012\n:Version: 0.2\n:Authors:\n - Rodrigo Herrera - Tryolabs \n - Vitaliy Kucheryaviy (Jan 2010)\n - Marc Garcia (Apr 2009)\n\n:Website:\n https://github.com/tryolabs/django-reporting", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tryolabs/django-reporting", "keywords": "django reporting report model models", "license": "LGPL", "maintainer": null, "maintainer_email": null, "name": "django-reporting", "package_url": "https://pypi.org/project/django-reporting/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-reporting/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/tryolabs/django-reporting" }, "release_url": "https://pypi.org/project/django-reporting/0.21/", "requires_dist": null, "requires_python": null, "summary": "Django Reporting is an application that can be integrated with the Django Admin and allows you to create dynamic reports for your models.", "version": "0.21" }, "last_serial": 790466, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "a6de469bdaa0e235a8f61b12fd4130d2", "sha256": "07a18d699826f5051420202ddf87dd4c35e14d36071b41955cdc1dc8b7f588a2" }, "downloads": -1, "filename": "django-reporting-0.1.tar.gz", "has_sig": false, "md5_digest": "a6de469bdaa0e235a8f61b12fd4130d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8970, "upload_time": "2012-05-11T21:52:37", "url": "https://files.pythonhosted.org/packages/e5/fe/3f101b878aba2bc488d06d79230a673423794e9e2d97252866967c2f2c5f/django-reporting-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "48b07f9af9421e9ee81bb9a21c69ef1b", "sha256": "9c9532cdb298c34bc6e345b22f32e7b4d9be5d11728d97a94ef7ff3270f43d40" }, "downloads": -1, "filename": "django-reporting-0.2.tar.gz", "has_sig": false, "md5_digest": "48b07f9af9421e9ee81bb9a21c69ef1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9773, "upload_time": "2012-05-17T22:49:22", "url": "https://files.pythonhosted.org/packages/60/56/1d31ccf5528b6fc60deeaf698c31d2eeed4b5e29d9658fb7fccc744769e0/django-reporting-0.2.tar.gz" } ], "0.21": [ { "comment_text": "", "digests": { "md5": "090dca908644a08fa1a7ffdaa2642c6d", "sha256": "914304789099c282acbec412cef66de549e1e211c5f100f42d4dbaabddd7d6dc" }, "downloads": -1, "filename": "django-reporting-0.21.tar.gz", "has_sig": false, "md5_digest": "090dca908644a08fa1a7ffdaa2642c6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10273, "upload_time": "2012-06-18T20:07:10", "url": "https://files.pythonhosted.org/packages/e5/5c/1fec3a85662ae43683cac020e520113034f42e53d9fbf92780c5f8add757/django-reporting-0.21.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "090dca908644a08fa1a7ffdaa2642c6d", "sha256": "914304789099c282acbec412cef66de549e1e211c5f100f42d4dbaabddd7d6dc" }, "downloads": -1, "filename": "django-reporting-0.21.tar.gz", "has_sig": false, "md5_digest": "090dca908644a08fa1a7ffdaa2642c6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10273, "upload_time": "2012-06-18T20:07:10", "url": "https://files.pythonhosted.org/packages/e5/5c/1fec3a85662ae43683cac020e520113034f42e53d9fbf92780c5f8add757/django-reporting-0.21.tar.gz" } ] }