{ "info": { "author": "Douwe van der Meij", "author_email": "douwe@karibu-online.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v2 (GPLv2)", "License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "# Django Admin Totals\n\nModule to show totals in Django Admin List.\n\n[![codecov](https://codecov.io/gh/douwevandermeij/admin-totals/branch/master/graph/badge.svg)](https://codecov.io/gh/douwevandermeij/admin-totals)\n[![Build Status](https://travis-ci.org/douwevandermeij/admin-totals.svg?branch=master)](https://travis-ci.org/douwevandermeij/admin-totals)\n\n## Installation\n\n virtualenv .\n source bin/activate\n pip install admin-totals\n\nOr\n\n pip install git+https://github.com/douwevandermeij/admin-totals.git\n\n## Usage\n\nIn settings.py\n```python\nINSTALLED_APPS = [\n 'admin_totals',\n]\n```\nIn admin.py:\n```python\nfrom admin_totals.admin import ModelAdminTotals\nfrom django.contrib import admin\nfrom django.db.models import Sum, Avg\nfrom django.db.models.functions import Coalesce\n\n@admin.register(MyModel)\nclass MyModelAdmin(ModelAdminTotals):\n list_display = ['col_a', 'col_b', 'col_c']\n list_totals = [('col_b', lambda field: Coalesce(Sum(field), 0)), ('col_c', Avg)]\n```\nMake sure to at least have the columns of `list_totals` in `list_display`.\n\n## Tests\n\n python runtests.py\n\n## Contributing\n\nPlease make sure to run the following commands before pushing and making a PR:\n\n pip install -r requirements/test-ci.txt\n isort --recursive admin_totals tests\n flake8\n\n`isort` will sort the imports and `flake8` will lint the code. Please fix any errors before committing. Also, make sure to write passing tests.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/douwevandermeij/admin-totals", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "admin-totals", "package_url": "https://pypi.org/project/admin-totals/", "platform": "", "project_url": "https://pypi.org/project/admin-totals/", "project_urls": { "Homepage": "https://github.com/douwevandermeij/admin-totals" }, "release_url": "https://pypi.org/project/admin-totals/1.0.1/", "requires_dist": [ "Django" ], "requires_python": "", "summary": "Django Admin Totals, add totals to your columns in Django admin. ", "version": "1.0.1" }, "last_serial": 4737592, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "f365a5fdf88d8899e39ca220b5854a69", "sha256": "82e88b9a6d603a8bb0963763db4bef16364ddf028838e63c5fbecc961303b5ea" }, "downloads": -1, "filename": "admin_totals-1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f365a5fdf88d8899e39ca220b5854a69", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 25049, "upload_time": "2019-01-24T22:09:49", "url": "https://files.pythonhosted.org/packages/8a/c4/c174540fac6a37ab88af9aefa41fec9dd5591227e4dc6c5f15c8ffd83226/admin_totals-1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dedf8877264b758b623748134429512f", "sha256": "78d0a39c1091ac28ddc5301dee50af2bdb6783ba0296ccf96ce98f07e2cf95fd" }, "downloads": -1, "filename": "admin_totals-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dedf8877264b758b623748134429512f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25050, "upload_time": "2019-01-24T22:09:51", "url": "https://files.pythonhosted.org/packages/91/81/182ee933b06566dae274cced9368e94a1ea8a3cfd5f54f5217e42496e785/admin_totals-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e324921c60b11cf6d1c340840ab5253", "sha256": "5bea2b8e5a25faf351dd48c0eecb35e6f2db181b8a94dc2d8ed72754bb5bbc41" }, "downloads": -1, "filename": "admin-totals-1.0.tar.gz", "has_sig": false, "md5_digest": "4e324921c60b11cf6d1c340840ab5253", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5911, "upload_time": "2019-01-24T22:09:52", "url": "https://files.pythonhosted.org/packages/2c/82/7daacd799abb78ee42d83f859bf3c7a98d51d291c39c2efb22cb673729a7/admin-totals-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f852ddd39c42de8dd2510c16400df04e", "sha256": "609017540245373afe78dca105760331a9c2aa6fbafca1b5b5f1d12c7e6b3895" }, "downloads": -1, "filename": "admin_totals-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f852ddd39c42de8dd2510c16400df04e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 25106, "upload_time": "2019-01-24T22:39:53", "url": "https://files.pythonhosted.org/packages/c9/a0/cbb80e9758c31d524e078f23ee8c7917e37759ab91ed96fabbca44c3ab2b/admin_totals-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6475368e1fc1fb53504333522c197d8d", "sha256": "59c190e478f8d31d10117f75d4ff0a4dc73db8975ef9d6438515ff326019638d" }, "downloads": -1, "filename": "admin_totals-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6475368e1fc1fb53504333522c197d8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25107, "upload_time": "2019-01-24T22:39:55", "url": "https://files.pythonhosted.org/packages/19/81/baaa1a6801331472f3174fc3cd85104a0a1d0442f4aa4375d9ae7546634e/admin_totals-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90bdb8438897b6cdfbfd4179a3e9df4f", "sha256": "ba46e0307d35f3e6b2d10db8f23bb593e8024d59a074946d5a292b8de98f2509" }, "downloads": -1, "filename": "admin-totals-1.0.1.tar.gz", "has_sig": false, "md5_digest": "90bdb8438897b6cdfbfd4179a3e9df4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5961, "upload_time": "2019-01-24T22:39:56", "url": "https://files.pythonhosted.org/packages/5d/aa/79adcb8ea873b690ba9f286d0c6439f832df381f00cab3c9a02ed141f4d8/admin-totals-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f852ddd39c42de8dd2510c16400df04e", "sha256": "609017540245373afe78dca105760331a9c2aa6fbafca1b5b5f1d12c7e6b3895" }, "downloads": -1, "filename": "admin_totals-1.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f852ddd39c42de8dd2510c16400df04e", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 25106, "upload_time": "2019-01-24T22:39:53", "url": "https://files.pythonhosted.org/packages/c9/a0/cbb80e9758c31d524e078f23ee8c7917e37759ab91ed96fabbca44c3ab2b/admin_totals-1.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6475368e1fc1fb53504333522c197d8d", "sha256": "59c190e478f8d31d10117f75d4ff0a4dc73db8975ef9d6438515ff326019638d" }, "downloads": -1, "filename": "admin_totals-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6475368e1fc1fb53504333522c197d8d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 25107, "upload_time": "2019-01-24T22:39:55", "url": "https://files.pythonhosted.org/packages/19/81/baaa1a6801331472f3174fc3cd85104a0a1d0442f4aa4375d9ae7546634e/admin_totals-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90bdb8438897b6cdfbfd4179a3e9df4f", "sha256": "ba46e0307d35f3e6b2d10db8f23bb593e8024d59a074946d5a292b8de98f2509" }, "downloads": -1, "filename": "admin-totals-1.0.1.tar.gz", "has_sig": false, "md5_digest": "90bdb8438897b6cdfbfd4179a3e9df4f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5961, "upload_time": "2019-01-24T22:39:56", "url": "https://files.pythonhosted.org/packages/5d/aa/79adcb8ea873b690ba9f286d0c6439f832df381f00cab3c9a02ed141f4d8/admin-totals-1.0.1.tar.gz" } ] }