{ "info": { "author": "Mohamed El-Kalioby", "author_email": "mkalioby@mkalioby.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.10", "Framework :: Django :: 1.11", "Framework :: Django :: 1.7", "Framework :: Django :: 1.8", "Framework :: Django :: 1.9", "Framework :: Django :: 2.0", "Framework :: Django :: 2.1", "Intended Audience :: Developers", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Model Tracker\n\nTrack model object changes over time so that you know who done what.\n \n## Installation\n\n* Install the package\n```sh\npip install django-model-tracker\n```\n* Add Application to your project's INSTALLED_APPs\n```python\nINSTALLED_APPS = (\n '....',\n 'ModelTracker',\n )\n``` \n* Add the following line to your urls.py\n```python\nimport ModelTracker\nurlpatterns = patterns('',\n...\nurl(r'^track/', include('ModelTracker.urls')),\n...\n)\n```\n* Run Migrations\n```sh\n python manage.py migrate ModelTracker \n```\n\n* Add the following line to your models.py file\n```python\nfrom ModelTracker import Tracker\n```\n* Convert each Model you want to track to inhert from `Tracker.ModelTracker` instead of `models.Model`\n \n**Old Code**\n\n```python\n class Employee(models.Model):\n name=models.CharField(max_length=255)\n address=models.CharField(max_length=255)\n age=models.IntegerField()\n ``` \n **New Code**\n \n ```python\n class Employee(Tracker.ModelTracker):\n name=models.CharField(max_length=255)\n address=models.CharField(max_length=255)\n age=models.IntegerField()\n```\n* For each save() call, add the user the username\n * Old Code\n ```python\n emp=Employee()\n emp.save()\n ``` \n \n * New Code\n ```python\n emp=Employee()\n emp.save(request.user.username)\n ```\n* Starting from version of 0.5, you can pass a event_name parameter to mark change as an event\n \n * New Code\n ```python\n emp=Employee()\n emp.save(request.user.username,event_name=\"Created the user\")\n ```\n\nUsing The Middleware\n====================\nYou can add `ModelTracker.middleware.ModelTrackerMiddleware` to your Middleware classes to get the username automatically from the request.\n\n```python\nMIDDLEWARE_CLASSES = (\n '....',\n 'ModelTracker.middleware.ModelTrackerMiddleware',\n )\n``` \n\n**Note:** If you pass username as `None` then the change won't be saved.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/mkalioby/ModelTracker/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mkalioby/ModelTracker/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-model-tracker", "package_url": "https://pypi.org/project/django-model-tracker/", "platform": "", "project_url": "https://pypi.org/project/django-model-tracker/", "project_urls": { "Download": "https://github.com/mkalioby/ModelTracker/", "Homepage": "https://github.com/mkalioby/ModelTracker/" }, "release_url": "https://pypi.org/project/django-model-tracker/1.0.3/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "summary": "Track Django Model Objects over time", "version": "1.0.3" }, "last_serial": 5572406, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "47712629fc8df4634de171076c1613b9", "sha256": "99bf06e379b75edb41b8b648da7e740de1065ffa19470b5781e22cec3b4bd549" }, "downloads": -1, "filename": "django-model-tracker-1.0.tar.gz", "has_sig": false, "md5_digest": "47712629fc8df4634de171076c1613b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 58974, "upload_time": "2019-02-20T05:55:30", "url": "https://files.pythonhosted.org/packages/ad/ff/f3b995997c76cd6581ef56efe44df6c3723ed96347cc6e8d50099156ac2c/django-model-tracker-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "39f5a55a573cc14710a4e5c0ec35fdf9", "sha256": "276b74e80e716138fe95d833f49b9c3afe8ccf1edffb0796b9f80532f71a6936" }, "downloads": -1, "filename": "django-model-tracker-1.0.1.tar.gz", "has_sig": false, "md5_digest": "39f5a55a573cc14710a4e5c0ec35fdf9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 58999, "upload_time": "2019-02-20T06:09:38", "url": "https://files.pythonhosted.org/packages/60/2b/1ea695903bce1e6a83ed05f24e4b4b32a86c07e0673e212b83414e0a6e27/django-model-tracker-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "9413ea1d1a7f82cd642e17893caf3f16", "sha256": "931f1f76dfb854c79086807ff867c1b8c1de502ab5834c24e47274d539fbed50" }, "downloads": -1, "filename": "django-model-tracker-1.0.2.tar.gz", "has_sig": false, "md5_digest": "9413ea1d1a7f82cd642e17893caf3f16", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 58969, "upload_time": "2019-07-23T13:02:56", "url": "https://files.pythonhosted.org/packages/65/fd/4d742ccde84fb78814969ed4e199407e613d95315e3627acdbc3f1e9ce61/django-model-tracker-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "2e6d1a2727ab09a1ae4978b017a91d4b", "sha256": "1f00afc58b4962ce6524fc79d711680b2e16e97528f2e0e4fbc5216fdd562b17" }, "downloads": -1, "filename": "django-model-tracker-1.0.3.tar.gz", "has_sig": false, "md5_digest": "2e6d1a2727ab09a1ae4978b017a91d4b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 58988, "upload_time": "2019-07-23T13:17:59", "url": "https://files.pythonhosted.org/packages/d5/a9/fb04e5e889abd56824bed1386533a5ec03ac3b7d850008bde47ca6d84c40/django-model-tracker-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2e6d1a2727ab09a1ae4978b017a91d4b", "sha256": "1f00afc58b4962ce6524fc79d711680b2e16e97528f2e0e4fbc5216fdd562b17" }, "downloads": -1, "filename": "django-model-tracker-1.0.3.tar.gz", "has_sig": false, "md5_digest": "2e6d1a2727ab09a1ae4978b017a91d4b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*", "size": 58988, "upload_time": "2019-07-23T13:17:59", "url": "https://files.pythonhosted.org/packages/d5/a9/fb04e5e889abd56824bed1386533a5ec03ac3b7d850008bde47ca6d84c40/django-model-tracker-1.0.3.tar.gz" } ] }