Skip to main content

Django Filtered Model Formset Tables

PyPI Version Docs Status Tests

Re-usable Class-Based Views that integrate django-filter and django-tables2 with model formsets. Render and process a user-filterable, user-sortable modelformset in a table with just a few lines of code. Rainbows and unicorns!

Features

  • Use a ModelForm / formset to define editable fields, add / delete, extra forms, etc.
  • Use a FilterSet to define filters the formset's queryset
  • Use a Table to lay out the formset, define paging, sorting, etc.
  • Render the Table with its filtered formset in just a few lines of template code

Views

Note: Table.Column options linkify and empty_values are overridden for columns rendered as form fields

  • linkify is incompatible with a form field representation, so is disabled;
  • to ensure 'empty' form fields are rendered, empty_values is set to () (i.e., render all values)

Quick Start

  1. Install the django-fmft package from PyPI

    $ pip install django-fmft
    

    For other installation methods see Installation.

  2. Add 'fmft' to INSTALLED_APPS:

    INSTALLED_APPS = [
        ...,
        "fmft",
        "django_tables2",
        "django_filters",
        "extra_views",   # optional
           ...,
    ]
    

Get Me Some of That

MIT License

Check Out the Demo App

  1. pip install -e git+https://github.com/powderflask/django-fmft.git#egg=django-fmft
  2. python manage.py migrate demo
  3. python manage.py loaddata demo/fmft_fixture.json
  4. python manage.py runserver

Acknowledgments

Special thanks to BC Hydro, Chartwell, and all Contributors

Technology Colophon

This package just glues together the amazing functionality provided by django-filter, django-tables2, and django-extra-views.

Python3, Django, HTML5, CSS3, JavaScript

For Developers

$  pip install -r reqirements_dev.txt

Tests

$ pytest

or

$ tox

Code Style / Linting

$ isort
$ black
$ flake8

Versioning

Docs

Build / Deploy Automation

Known Issues

  • hidden form fields are rendered in first form field column - can't have dynamically hidden fields, hidden on some rows while visible in others, without a little magic.

TODO

My wish list...

  • write test for case where form field is not included in table E.g. as when DELETE field not included in export table

Metadata

Release files for django-fmft 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-fmft 0.3.3
File Size Uploaded
django_fmft-0.3.3.tar.gz 18.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for django-fmft 0.3.3
File Interpreter ABI Platform
django_fmft-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 36.0 kB

Release files / django_fmft-0.3.3.tar.gz

Download URL django_fmft-0.3.3.tar.gz
Size 18.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9ec8a09dde21b6db5e4368e8bb2317f7f3424fa8263d8f17d4a5cc4295a8b7df
BLAKE2b-256 checksum
How to use checksums
c1c843c73a19792c2b06554d9e29c39e79b5cd072cc6d7c1a25d34df4aa2a6b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / django_fmft-0.3.3-py3-none-any.whl

Download URL django_fmft-0.3.3-py3-none-any.whl
Size 17.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d3dc50a476223b83041a49a253a333b4ff8e9ff20871e8c33010589d4ace19a7
BLAKE2b-256 checksum
How to use checksums
4351c4df1ab9552744136c3245b38a235549bdda36026b23fff8212dca439eba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.2 CPython/3.11.7

Release history Release notifications | RSS feed

This release

0.3.3 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page