{ "info": { "author": "Ilya Semenov", "author_email": "ilya@semenov.co", "bugtrack_url": null, "classifiers": [], "description": "django-multiforeignkey\n======================\n\nDjango ForeignKey that links to one of several specified models:\n\n.. code:: python\n\n\tclass Comment(models.Model):\n\t\tuser = models.ForeignKey(User)\n\t\ttext = models.TextField()\n\n\t\t# users may leave comments for blog posts, articles or votings\n\t\tobject = MultiForeignKey(Post, Article, Voting)\n\n\nUnlike ``GenericForeignKey``, the field uses native database foreign keys and provides maximum speed and reliability.\n\n\nWARNING\n=======\n\n**This is a preliminary alpha version which most probably doesn't fully work as advertised. I had to publish it unfinished because I had to use it in my project.**\n\n\nInstallation\n============\n\n::\n\n\tpip install django-multiforeignkey\n\n\nUsage\n=====\n\nAdd ``multiforeignkey`` to ``INSTALLED_APPS``:\n\n.. code:: python\n\n\t# settings.py\n\n\tINSTALLED_APPS = [\n\t\t...\n\t\t'multiforeignkey',\n\t]\n\n\nAdd a field to your models:\n\n.. code:: python\n\n\t# comments/models.py\n\n\tfrom multiforeignkey.models import MultiForeignKey\n\n\tclass Comment(models.Model):\n\t\tuser = models.ForeignKey(User)\n\t\ttext = models.TextField()\n\n\t\t# users may leave comments for blog posts, articles or votings\n\t\tobject = MultiForeignKey(Post, Article, Voting)\n\n\nCreate the corresponding database tables:\n\n.. code:: bash\n\n\t./manage.py makemigrations && ./manage.py migrate\n\n\nUse the new field as if it were a real database field:\n\n.. code:: python\n\n\tcomment = Comment.objects.filter(object=post)\n\tassert comment.object is post\n\tcomment.object = voting\n\tassert comment.object is voting\n\tcomment.save()\n\n\nor use specific subfields:\n\n.. code:: python\n\n\tcomment = Comment.objects.filter(post=post)\n\tassert comment.post is post\n\tassert comment.article is None\n\tassert comment.voting is None\n\tcomment.voting = voting\n\tassert comment.post is None\n\tassert comment.article is None\n\tassert comment.voting is voting\n\tcomment.save()", "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/IlyaSemenov/django-multiforeignkey", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "django-multiforeignkey", "package_url": "https://pypi.org/project/django-multiforeignkey/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-multiforeignkey/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/IlyaSemenov/django-multiforeignkey" }, "release_url": "https://pypi.org/project/django-multiforeignkey/0.0.2/", "requires_dist": null, "requires_python": null, "summary": "Django ForeignKey that links to one of several specified models", "version": "0.0.2" }, "last_serial": 2344322, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "4fcd25f22b0b09606fe8b64d28d1d576", "sha256": "dd30324a8d65afa5e7d760d2af099f8d7d438fbe3840850642f36b231b9d40cf" }, "downloads": -1, "filename": "django-multiforeignkey-0.0.1.tar.gz", "has_sig": false, "md5_digest": "4fcd25f22b0b09606fe8b64d28d1d576", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3096, "upload_time": "2016-08-10T14:31:58", "url": "https://files.pythonhosted.org/packages/dc/95/ac1d40b2485ceac2b394f78c8dd0302994989456e5a1e1b99d5965715240/django-multiforeignkey-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "634c8e009305adae2caca7b2f26d90cf", "sha256": "930d4c22dac2ae5bc0bf2e99d072d0039834e4e0c750463e29f35a7f792d3ee9" }, "downloads": -1, "filename": "django-multiforeignkey-0.0.2.tar.gz", "has_sig": false, "md5_digest": "634c8e009305adae2caca7b2f26d90cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3175, "upload_time": "2016-09-15T14:05:47", "url": "https://files.pythonhosted.org/packages/9b/67/104c1b431a1b6b813ed78c343097261d4052700b6804efa57f18cec9e594/django-multiforeignkey-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "634c8e009305adae2caca7b2f26d90cf", "sha256": "930d4c22dac2ae5bc0bf2e99d072d0039834e4e0c750463e29f35a7f792d3ee9" }, "downloads": -1, "filename": "django-multiforeignkey-0.0.2.tar.gz", "has_sig": false, "md5_digest": "634c8e009305adae2caca7b2f26d90cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3175, "upload_time": "2016-09-15T14:05:47", "url": "https://files.pythonhosted.org/packages/9b/67/104c1b431a1b6b813ed78c343097261d4052700b6804efa57f18cec9e594/django-multiforeignkey-0.0.2.tar.gz" } ] }