django-admin-fast-search


Namedjango-admin-fast-search JSON
Version 0.2.2 PyPI version JSON
download
home_pagehttps://github.com/utkbansal/django-admin-fast-search
SummaryYour project description goes here
upload_time2025-01-15 11:53:51
maintainerNone
docs_urlNone
authorUtkarsh Bansal
requires_pythonNone
licenseMIT
keywords django-admin-fast-search
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            =============================
django-admin-fast-search
=============================

.. image:: https://badge.fury.io/py/django-admin-fast-search.svg
    :target: https://badge.fury.io/py/django-admin-fast-search

.. image:: https://travis-ci.org/utkbansal/django-admin-fast-search.svg?branch=master
    :target: https://travis-ci.org/utkbansal/django-admin-fast-search

.. image:: https://codecov.io/gh/utkbansal/django-admin-fast-search/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/utkbansal/django-admin-fast-search

Your project description goes here

Documentation
-------------

The full documentation is at https://django-admin-fast-search.readthedocs.io.

Quickstart
----------

Install django-admin-fast-search::

    pip install django-admin-fast-search

Add it to your `INSTALLED_APPS`:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        'django_admin_fast_search',
        ...
    )

Use it in your Django admin for search fields:

.. code-block:: python

   from django_admin_fast_search.admin import FastSearch

   class MyModelAdmin(FastSearch, admin.ModelAdmin):
       list_display = ['name', 'email']

       search_fields_contains = ("address",)
       search_fields_exact = ("id", "email")
       search_fields_fulltext_index = ("name",)
       search_fields = search_fields_fulltext_index + search_fields_exact + search_fields_contains


Use it for list filters with django_filters_

.. code-block:: python

   from django_filters import BooleanFilter, CharFilter, ModelChoiceFilter, FilterSet
   from django_admin_fast_search.admin import FastSearchFilterMixin

   class MyModelFilter(FastSearchFilterMixin, FilterSet):
       is_verified = BooleanFilter(label="Verified?")

       company_name = CharFilter(field_name="company__name", lookup_expr="icontains")
       company_pincode = CharFilter(field_name="company__location_pincode", lookup_expr="exact")

       company = ModelChoiceFilter()
       # OR
       company = ModelChoiceFilter(queryset=Company.objects.active())

       exclude_industry = CharFilter(field_name="industry", lookup_expr="icontains", label="Exclude Industry", exclude=True)

       status = MultipleChoiceFilter(
           field_name="status",
           lookup_expr="exact",
           label="Status",
           choices=MyModel.STATUS_CHOICES,
       )

       created_at = DateFilter(field_name="created_at", lookup_expr="gt", label="Signed up After")

       class Meta:
           model = MyModel
           fields = [
               "is_verified",
               "company_name",
               "company_pincode",
               "company",
               "exclude_industry",
               "status",
               "created_at",
           ]


   class MyModelAdmin(FastSearch, admin.ModelAdmin):
       list_display = ['name', 'email']

       list_filter = ["company_tier", *MyModelFilter.as_admin_filters()]

       # or only use class-based filters

       list_filter = MyModelFilter.as_admin_filters()


Running Tests
-------------

Does the code actually work?

::

    source <YOURVIRTUALENV>/bin/activate
    (myenv) $ pip install tox
    (myenv) $ tox


Development commands
---------------------

::

    pip install -r requirements_dev.txt
    invoke -l


Credits
-------

Tools used in rendering this package:

*  Cookiecutter_
*  `cookiecutter-djangopackage`_

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage
.. _django_filters: https://django-filter.readthedocs.io/en/stable/




History
-------

0.1.2 (2022-05-30)
++++++++++++++++++

* Add classifiers for Python 3.7, 3.8, 3.9, 3.10
* Remove support for Python 2, 2.7, 3.5, 3.6
* Automate publish to PyPi

0.1.0 (2021-05-22)
++++++++++++++++++

* First release on PyPI.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/utkbansal/django-admin-fast-search",
    "name": "django-admin-fast-search",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "django-admin-fast-search",
    "author": "Utkarsh Bansal",
    "author_email": "ubansal@instawork.com",
    "download_url": "https://files.pythonhosted.org/packages/43/d8/bb663ae3fb3e06b632330e1009e4b0f6062ff79fbb3fae05f5d7aa83aac8/django_admin_fast_search-0.2.2.tar.gz",
    "platform": null,
    "description": "=============================\ndjango-admin-fast-search\n=============================\n\n.. image:: https://badge.fury.io/py/django-admin-fast-search.svg\n    :target: https://badge.fury.io/py/django-admin-fast-search\n\n.. image:: https://travis-ci.org/utkbansal/django-admin-fast-search.svg?branch=master\n    :target: https://travis-ci.org/utkbansal/django-admin-fast-search\n\n.. image:: https://codecov.io/gh/utkbansal/django-admin-fast-search/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/utkbansal/django-admin-fast-search\n\nYour project description goes here\n\nDocumentation\n-------------\n\nThe full documentation is at https://django-admin-fast-search.readthedocs.io.\n\nQuickstart\n----------\n\nInstall django-admin-fast-search::\n\n    pip install django-admin-fast-search\n\nAdd it to your `INSTALLED_APPS`:\n\n.. code-block:: python\n\n    INSTALLED_APPS = (\n        ...\n        'django_admin_fast_search',\n        ...\n    )\n\nUse it in your Django admin for search fields:\n\n.. code-block:: python\n\n   from django_admin_fast_search.admin import FastSearch\n\n   class MyModelAdmin(FastSearch, admin.ModelAdmin):\n       list_display = ['name', 'email']\n\n       search_fields_contains = (\"address\",)\n       search_fields_exact = (\"id\", \"email\")\n       search_fields_fulltext_index = (\"name\",)\n       search_fields = search_fields_fulltext_index + search_fields_exact + search_fields_contains\n\n\nUse it for list filters with django_filters_\n\n.. code-block:: python\n\n   from django_filters import BooleanFilter, CharFilter, ModelChoiceFilter, FilterSet\n   from django_admin_fast_search.admin import FastSearchFilterMixin\n\n   class MyModelFilter(FastSearchFilterMixin, FilterSet):\n       is_verified = BooleanFilter(label=\"Verified?\")\n\n       company_name = CharFilter(field_name=\"company__name\", lookup_expr=\"icontains\")\n       company_pincode = CharFilter(field_name=\"company__location_pincode\", lookup_expr=\"exact\")\n\n       company = ModelChoiceFilter()\n       # OR\n       company = ModelChoiceFilter(queryset=Company.objects.active())\n\n       exclude_industry = CharFilter(field_name=\"industry\", lookup_expr=\"icontains\", label=\"Exclude Industry\", exclude=True)\n\n       status = MultipleChoiceFilter(\n           field_name=\"status\",\n           lookup_expr=\"exact\",\n           label=\"Status\",\n           choices=MyModel.STATUS_CHOICES,\n       )\n\n       created_at = DateFilter(field_name=\"created_at\", lookup_expr=\"gt\", label=\"Signed up After\")\n\n       class Meta:\n           model = MyModel\n           fields = [\n               \"is_verified\",\n               \"company_name\",\n               \"company_pincode\",\n               \"company\",\n               \"exclude_industry\",\n               \"status\",\n               \"created_at\",\n           ]\n\n\n   class MyModelAdmin(FastSearch, admin.ModelAdmin):\n       list_display = ['name', 'email']\n\n       list_filter = [\"company_tier\", *MyModelFilter.as_admin_filters()]\n\n       # or only use class-based filters\n\n       list_filter = MyModelFilter.as_admin_filters()\n\n\nRunning Tests\n-------------\n\nDoes the code actually work?\n\n::\n\n    source <YOURVIRTUALENV>/bin/activate\n    (myenv) $ pip install tox\n    (myenv) $ tox\n\n\nDevelopment commands\n---------------------\n\n::\n\n    pip install -r requirements_dev.txt\n    invoke -l\n\n\nCredits\n-------\n\nTools used in rendering this package:\n\n*  Cookiecutter_\n*  `cookiecutter-djangopackage`_\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`cookiecutter-djangopackage`: https://github.com/pydanny/cookiecutter-djangopackage\n.. _django_filters: https://django-filter.readthedocs.io/en/stable/\n\n\n\n\nHistory\n-------\n\n0.1.2 (2022-05-30)\n++++++++++++++++++\n\n* Add classifiers for Python 3.7, 3.8, 3.9, 3.10\n* Remove support for Python 2, 2.7, 3.5, 3.6\n* Automate publish to PyPi\n\n0.1.0 (2021-05-22)\n++++++++++++++++++\n\n* First release on PyPI.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Your project description goes here",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://github.com/utkbansal/django-admin-fast-search"
    },
    "split_keywords": [
        "django-admin-fast-search"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "369354560ec0697d93cc262fe5ea23080e1647cd93f7e2a895e3cb931d173031",
                "md5": "77b51afed54aa6d3487b52598a238ca0",
                "sha256": "ec3f96d3e70a20f6b7114c87f8010b965be1bd1387919785bbf263ef34c2fd85"
            },
            "downloads": -1,
            "filename": "django_admin_fast_search-0.2.2-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "77b51afed54aa6d3487b52598a238ca0",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": null,
            "size": 13836,
            "upload_time": "2025-01-15T11:53:49",
            "upload_time_iso_8601": "2025-01-15T11:53:49.753909Z",
            "url": "https://files.pythonhosted.org/packages/36/93/54560ec0697d93cc262fe5ea23080e1647cd93f7e2a895e3cb931d173031/django_admin_fast_search-0.2.2-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43d8bb663ae3fb3e06b632330e1009e4b0f6062ff79fbb3fae05f5d7aa83aac8",
                "md5": "e4817bf00fd06592afd984fca4a17ddd",
                "sha256": "e7c99825a557b8b121f19eb3c6f1557f3e916dffc3fe42af74d69acdcbca1600"
            },
            "downloads": -1,
            "filename": "django_admin_fast_search-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "e4817bf00fd06592afd984fca4a17ddd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 12657,
            "upload_time": "2025-01-15T11:53:51",
            "upload_time_iso_8601": "2025-01-15T11:53:51.541340Z",
            "url": "https://files.pythonhosted.org/packages/43/d8/bb663ae3fb3e06b632330e1009e4b0f6062ff79fbb3fae05f5d7aa83aac8/django_admin_fast_search-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-15 11:53:51",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "utkbansal",
    "github_project": "django-admin-fast-search",
    "github_not_found": true,
    "lcname": "django-admin-fast-search"
}
        
Elapsed time: 2.55262s