{ "info": { "author": "F\u00e1bio Mac\u00eado Mendes", "author_email": "fabiomacedomendes@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries" ], "description": "``django-model-reference`` defines a simple :cls:`model_reference.Reference`\nmodel that hold named references to specific instances of any Django model.\n\nUsage\n=====\n\nReferences are controlled by the :func:`register()` and :func:`load` functions of\nthe ``model_reference`` module. These function are also mirrored by the\ncorresponding methods in the ``Reference.objects`` manager. To register a\nreference, simply pass the object and either a unique name or a unique suffix::\n\n from model_reference import register, load\n from django.contrib.auth.models import User\n\n # Fetch some objects\n john = User.objects.get(username='john')\n ringo = User.objects.get(username='ringo')\n\n # Register references in the database\n register(john, 'favorite beatle')\n register(ringo, suffix='drummer')\n\nThe name for each reference is unique. If the register function is called with\nthe explicit ``suffix`` argument, it will register the instance as\n``.:suffix``, which in our case becomes ``'auth.user:drummer'``.\n\nIn order to retrieve the objects referred by the Reference object, we can use\nthe :func:`load` function::\n\n>>> load('favorite beatle')\n\n>>> load('drummer', model=User)\n\n\nObjects registered with the suffix form of the register function should pass a\nmodel class in order to construct the complete name string. This is equivalent\nas creating the string by hand:\n\n>>> load('auth.user:drummer')\n\n\n\nEmpty references\n================\n\nIf one request a non-existing reference to the load() function, it raises an\n:error:`model_reference.EmptyReferenceError`. Users can register factory\nfunctions to create these objects on-the-fly.\n\nThe default way of registering factory function is via the :func:`model_reference.factory`\ndecorator. It must be called with a reference string (or suffix + model) and\ndecorates a function that return a new instance and is called without arguments::\n\n @factory('drummer', model=User)\n def make_ringo():\n user, created = User.object.get_or_create(\n username=ringo,\n first_name='Richard'\n last_name='Starkley',\n email='ringo@applerecords.co.uk'\n )\n return user\n\nIf a new instance is created, the function is responsible to save it in the\ndatabase", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/fabiommendes/django-model-reference", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "django-model-reference", "package_url": "https://pypi.org/project/django-model-reference/", "platform": "any", "project_url": "https://pypi.org/project/django-model-reference/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/fabiommendes/django-model-reference" }, "release_url": "https://pypi.org/project/django-model-reference/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "Stores named references to specific instances of any model in the database.", "version": "0.1.2" }, "last_serial": 2354926, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "c4f06019c491be247771050372024c71", "sha256": "1d795c16d36dd2e0dbf01ecbcf557f1aa339721a234e9292c7316e4da728e246" }, "downloads": -1, "filename": "django-model-reference-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c4f06019c491be247771050372024c71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6759, "upload_time": "2016-08-19T18:37:06", "url": "https://files.pythonhosted.org/packages/7c/f1/e95d42b1c218174f2ad82f699eb222e587856e01437926a17dd453f7c6b3/django-model-reference-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "990d63bf3229fee0739dd978ad6ebfbb", "sha256": "b8d623fbf32083cd103e9f0e397967b4c47214a78455e903d4209d8544fd7705" }, "downloads": -1, "filename": "django-model-reference-0.1.2.tar.gz", "has_sig": false, "md5_digest": "990d63bf3229fee0739dd978ad6ebfbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8135, "upload_time": "2016-09-21T13:16:07", "url": "https://files.pythonhosted.org/packages/16/90/8568d9ce16a0ee1f0412cf07c181848a104e3dcaf7ca225e3bd6ec07b45b/django-model-reference-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "990d63bf3229fee0739dd978ad6ebfbb", "sha256": "b8d623fbf32083cd103e9f0e397967b4c47214a78455e903d4209d8544fd7705" }, "downloads": -1, "filename": "django-model-reference-0.1.2.tar.gz", "has_sig": false, "md5_digest": "990d63bf3229fee0739dd978ad6ebfbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8135, "upload_time": "2016-09-21T13:16:07", "url": "https://files.pythonhosted.org/packages/16/90/8568d9ce16a0ee1f0412cf07c181848a104e3dcaf7ca225e3bd6ec07b45b/django-model-reference-0.1.2.tar.gz" } ] }