{ "info": { "author": "Pinax Developers", "author_email": "developers@pinaxproject.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Pinax Models\n============\n.. image:: http://slack.pinaxproject.com/badge.svg\n :target: http://slack.pinaxproject.com/\n\n.. image:: https://img.shields.io/travis/pinax/pinax-models.svg\n :target: https://travis-ci.org/pinax/pinax-models\n\n.. image:: https://img.shields.io/coveralls/pinax/pinax-models.svg\n :target: https://coveralls.io/r/pinax/pinax-models\n\n.. image:: https://img.shields.io/pypi/dm/pinax-models.svg\n :target: https://pypi.python.org/pypi/pinax-models/\n\n.. image:: https://img.shields.io/pypi/v/pinax-models.svg\n :target: https://pypi.python.org/pypi/pinax-models/\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg\n :target: https://pypi.python.org/pypi/pinax-models/\n \n \nPinax\n--------\n\nPinax is an open-source platform built on the Django Web Framework. It is an ecosystem of reusable Django apps, themes, and starter project templates. \nThis collection can be found at http://pinaxproject.com.\n\nThis app was developed as part of the Pinax ecosystem but is just a Django app and can be used independently of other Pinax apps.\n\n\npinax-models\n-------------\n\n``pinax-models`` provides support for logical deletes on models and in the Django admin.\n\nThis is a small and simple app that Patrick Altman wrote to get some reuse out\nof something he did in nearly every project and every model he created. It's\ntoo easy for good data to get deleted and it be unrecoverable. It's also too\neasy to fix this by overriding the model's delete() method and just flagging\nrecords as deleted and then leveraging Django's managers to override default\nbehavior so that logically deleted items are not returned in querysets.\n\nThere are two exceptions to this rule, however, that are useful.\n\n#. In the admin it is nice to see everything with an indicator of whether or not\n it has been deleted, with the ability to filter down to just active records,\n (or deleted for that matter).\n#. It is a valid request when an item is fetched by its primary key value, that\n the object should return, even if it is marked as deleted.\n \n \nHistory\n--------\n\nOn May 25, 2015, Patrick donated ``django-logicaldelete`` to Pinax and as part of\nthat process, ``pinax-models`` was born and the code incorporated into that\npackage. It remains just a Django app and can be quite independently of other\nPinax apps.\n\n\nInstallation\n-----------------------\n\n::\n\n pip install pinax-models\n \n\nUsage\n------------------\n\nUsing the app is pretty simple:\n\n#. add `pinax.models` to your INSTALLED_APPS\n#. Inherit from ``pinax.models.LogicalDeleteModel`` for all models that you wish\n to share in this functionality.\n#. Create and/or Register admins for each of these models using\n ``pinax.models.LogicalDeleteModelAdmin``\n\n\nAdditional\n----------\n\nLogical deletes are handled by date stamping a `date_removed` column. In\naddition, a ``date_created`` and ``date_modified`` columns will be populated as a\nconvenience.\n\n\nBackwards Incompatible Changes\n------------------------------\n\n2.0\n***\n\n* Renamed to ``pinax-models`` and base model renamed to ``LogicalDeleteModel``\n\n\n1.1\n***\n\n* Changed ``everything`` to ``all_with_deleted`` on LogicalDeleteManager\n* LogicalDeleteManager moved from ``logicaldelete.models`` to ``logicaldelete.managers``\n* Removed ``deleted`` and ``everything`` querysets from ``logicaldelete.models.Model``\n\n\nDocumentation\n--------------\n\nThe ``pinax-models`` documentation is currently under construction. If you would like to help us write documentation, please join our Pinax Project Slack team and let us know! The Pinax documentation is available at http://pinaxproject.com/pinax/.\n\n\nContribute\n----------------\n\nSee this blog post http://blog.pinaxproject.com/2016/02/26/recap-february-pinax-hangout/ including a video, or our How to Contribute (http://pinaxproject.com/pinax/how_to_contribute/) section for an overview on how contributing to Pinax works. For concrete contribution ideas, please see our Ways to Contribute/What We Need Help With (http://pinaxproject.com/pinax/ways_to_contribute/) section.\n\nIn case of any questions we recommend you join our Pinax Slack team (http://slack.pinaxproject.com) and ping us there instead of creating an issue on GitHub. Creating issues on GitHub is of course also valid but we are usually able to help you faster if you ping us in Slack.\n\nWe also highly recommend reading our Open Source and Self-Care blog post (http://blog.pinaxproject.com/2016/01/19/open-source-and-self-care/). \n\n\nCode of Conduct\n----------------\n\nIn order to foster a kind, inclusive, and harassment-free community, the Pinax Project has a code of conduct, which can be found here http://pinaxproject.com/pinax/code_of_conduct/. We ask you to treat everyone as a smart human programmer that shares an interest in Python, Django, and Pinax with you.\n\n\nPinax Project Blog and Twitter\n-------------------------------\n\nFor updates and news regarding the Pinax Project, please follow us on Twitter at @pinaxproject and check out our blog http://blog.pinaxproject.com.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pinax-models.rtfd.org/", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pinax-models", "package_url": "https://pypi.org/project/pinax-models/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pinax-models/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pinax-models.rtfd.org/" }, "release_url": "https://pypi.org/project/pinax-models/3.0/", "requires_dist": null, "requires_python": null, "summary": "Provide Support for Logical Deletes on Models and in the Django Admin", "version": "3.0" }, "last_serial": 2504893, "releases": { "2.0": [ { "comment_text": "", "digests": { "md5": "53873ee1ffefb2ac0c47981c16cf36bd", "sha256": "8096961c8d0700b760e3e1f71ca3bd628a79661b572c8d930325b87762b63db2" }, "downloads": -1, "filename": "pinax-models-2.0.tar.gz", "has_sig": false, "md5_digest": "53873ee1ffefb2ac0c47981c16cf36bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5096, "upload_time": "2015-05-25T17:07:20", "url": "https://files.pythonhosted.org/packages/66/ea/b3149de562d6d2aa53b8073b485ee1d46ad1b96835f35b7857fc1f6538c9/pinax-models-2.0.tar.gz" } ], "3.0": [ { "comment_text": "", "digests": { "md5": "079863aca3609f67dbe4b7a0ad4ccf29", "sha256": "e92ee4665ccc3a1b31740e5a8dd67ab889a4c893119242d51f7d69542bb59568" }, "downloads": -1, "filename": "pinax-models-3.0.tar.gz", "has_sig": false, "md5_digest": "079863aca3609f67dbe4b7a0ad4ccf29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6178, "upload_time": "2016-12-07T15:32:18", "url": "https://files.pythonhosted.org/packages/61/57/fb70540843159d19e0badd5d782b13ec23d07829a44d01f9a661e8e0a7bd/pinax-models-3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "079863aca3609f67dbe4b7a0ad4ccf29", "sha256": "e92ee4665ccc3a1b31740e5a8dd67ab889a4c893119242d51f7d69542bb59568" }, "downloads": -1, "filename": "pinax-models-3.0.tar.gz", "has_sig": false, "md5_digest": "079863aca3609f67dbe4b7a0ad4ccf29", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6178, "upload_time": "2016-12-07T15:32:18", "url": "https://files.pythonhosted.org/packages/61/57/fb70540843159d19e0badd5d782b13ec23d07829a44d01f9a661e8e0a7bd/pinax-models-3.0.tar.gz" } ] }