{"id":16360457,"url":"https://github.com/clokep/django-querysetsequence","last_synced_at":"2025-04-05T09:09:27.259Z","repository":{"id":42499990,"uuid":"49226985","full_name":"clokep/django-querysetsequence","owner":"clokep","description":"Chain multiple (disparate) QuerySets in Django","archived":false,"fork":false,"pushed_at":"2024-06-27T01:58:05.000Z","size":430,"stargazers_count":110,"open_issues_count":8,"forks_count":25,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-29T08:08:43.507Z","etag":null,"topics":["chain","django","iterable","multi","multiple","python","queryset"],"latest_commit_sha":null,"homepage":"https://django-querysetsequence.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clokep.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.rst","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"clokep"}},"created_at":"2016-01-07T19:50:26.000Z","updated_at":"2025-01-20T14:35:21.000Z","dependencies_parsed_at":"2024-06-18T18:32:42.295Z","dependency_job_id":"b3a14791-5548-4d91-9cc8-7a96989b7962","html_url":"https://github.com/clokep/django-querysetsequence","commit_stats":{"total_commits":389,"total_committers":18,"mean_commits":21.61111111111111,"dds":0.12853470437018,"last_synced_commit":"ac91c0da6db46c05a1745dd01a8b282d759a1b97"},"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clokep%2Fdjango-querysetsequence","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clokep%2Fdjango-querysetsequence/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clokep%2Fdjango-querysetsequence/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clokep%2Fdjango-querysetsequence/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clokep","download_url":"https://codeload.github.com/clokep/django-querysetsequence/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312082,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chain","django","iterable","multi","multiple","python","queryset"],"created_at":"2024-10-11T02:11:31.762Z","updated_at":"2025-04-05T09:09:27.229Z","avatar_url":"https://github.com/clokep.png","language":"Python","funding_links":["https://github.com/sponsors/clokep"],"categories":[],"sub_categories":[],"readme":"Django QuerySetSequence\n#######################\n\n.. image:: https://img.shields.io/pypi/v/django-querysetsequence.svg\n    :target: https://pypi.org/project/django-querysetsequence/\n\n.. image:: https://github.com/clokep/django-querysetsequence/actions/workflows/main.yml/badge.svg\n    :target: https://github.com/clokep/django-querysetsequence/actions/workflows/main.yml\n\n.. image:: https://readthedocs.org/projects/django-querysetsequence/badge/?version=latest\n    :target: https://django-querysetsequence.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n.. include-start\n\ndjango-querysetsequence adds helpers for treating multiple disparate ``QuerySet``\nobejcts as a single ``QuerySet``. This is useful for passing into APIs that only\naccepted a single ``QuerySet``.\n\nThe ``QuerySetSequence`` wrapper is used to combine multiple ``QuerySet`` instances.\n\n\nOverview\n========\n\n``QuerySetSequence`` aims to provide the same behavior as Django's |QuerySets|_,\nbut applied across multiple ``QuerySet`` instances.\n\n.. |QuerySets| replace:: ``QuerySets``\n.. _QuerySets: https://docs.djangoproject.com/en/dev/ref/models/querysets/\n\nSupported features:\n\n* Methods that take a list of fields (e.g. ``filter()``, ``exclude()``,\n  ``get()``, ``order_by()``) must use fields that are common across all\n  sub-``QuerySets``.\n* Relationships across related models work (e.g. ``'foo__bar'``, ``'foo'``, or\n  ``'foo_id'``). syntax).\n* The sub-``QuerySets`` are evaluated as late as possible (e.g. during\n  iteration, slicing, pickling, ``repr()``/``len()``/``list()``/``bool()``\n  calls).\n* Public ``QuerySet`` API methods that are untested/unimplemented raise\n  ``NotImplementedError``.\n\n\nGetting Started\n===============\n\nInstall the package using pip.\n\n.. code-block:: bash\n\n    pip install --upgrade django-querysetsequence\n\n\nBasic Usage\n===========\n\n.. code-block:: python\n\n    # Import QuerySetSequence\n    from queryset_sequence import QuerySetSequence\n\n    # Create QuerySets you want to chain.\n    from .models import SomeModel, OtherModel\n\n    # Chain them together.\n    query = QuerySetSequence(SomeModel.objects.all(), OtherModel.objects.all())\n\n    # Use query as if it were a QuerySet! E.g. in a ListView.\n\n\nProject Information\n===================\n\ndjango-querysetsequence is released under the ISC license, its documentation lives\non `Read the Docs`_, the code on `GitHub`_, and the latest release on `PyPI`_. It\nsupports Python 3.7+, Django 3.2/4.0/4.1/4.2, and is optionally compatible with\n`Django REST Framework`_ 3.11+.\n\n.. _Read the Docs: https://django-querysetsequence.readthedocs.io/\n.. _GitHub: https://github.com/clokep/django-querysetsequence\n.. _PyPI: https://pypi.org/project/django-querysetsequence/\n.. _Django REST Framework: http://www.django-rest-framework.org/\n\nSome ways that you can contribute:\n\n* Check for open issues or open a fresh issue to start a discussion around a\n  feature idea or a bug.\n* Fork the repository on GitHub to start making your changes.\n* Write a test which shows that the bug was fixed or that the feature works as\n  expected.\n* Send a pull request and bug the maintainer until it gets merged and published.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclokep%2Fdjango-querysetsequence","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclokep%2Fdjango-querysetsequence","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclokep%2Fdjango-querysetsequence/lists"}