Skip to main content

Django model field list field

Project description

Django model field list field

Build Status GitHub release PyPI release Python version GitHub issues Codacy grade Codacy coverage GitHub license

This is a Django model field that provides a list of some other model's fields. Fields can be multi-selected and "under the hood" are stored as a comma-separated string. Also package provides simple form field with the same capabilities.

Requirements

  • Python 2.7+ or Python 3.3+
  • Django 1.11+

Installation

Install django-mflf using pip:

pip install django-mflf

Add model_field_list to INSTALLED_APPS. Example:

INSTALLED_APPS = (
    ...
    'model_field_list',
    ...
)

Example usage

Model field:

from model_field_list import ModelFieldListField

class ProductKind(models.Model):
    name = models.CharField(max_length=100)
    comparison = ModelFieldListField('comparison criteria', source_model=Product)

If referenced model has many fields it would be useful to use FilteredSelectMultiple in Django admin:

from django.contrib.admin.widgets import FilteredSelectMultiple

class ProductKindAdminForm(forms.ModelForm):
    class Meta:
        widgets = {
            # different widget label is intentional
            'comparison': FilteredSelectMultiple('product properties', False)
        }

Simple form field:

from django.contrib.admin.widgets import FilteredSelectMultiple
from model_field_list import ModelFieldListFormField

class ProductExportForm(ExportForm):
    export_fields = ModelFieldListFormField(source_model=Product, label='Export fields',
                                            widget=FilteredSelectMultiple('свойства товара', False))

Limitations

  • All model fields are listed, no option to filter them in any way.
  • Field order can't be customized - they are sorted by the order of their definition in a model.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-mflf-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

django_mflf-0.1.0-py2.py3-none-any.whl (8.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-mflf-0.1.0.tar.gz.

File metadata

  • Download URL: django-mflf-0.1.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.2

File hashes

Hashes for django-mflf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 48c5f82a7d4c5d92ab66dd530c93f98f0f413c98a0bfb9b7e280f21ac8e1e0f9
MD5 c6ff16ad8b19efb2289a4f0fbac63c58
BLAKE2b-256 0fde80bbbb1621523d2122581899298c5ba92025b3fa60133f6bfde7bda8e0d3

See more details on using hashes here.

File details

Details for the file django_mflf-0.1.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_mflf-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cc8b453d97136f2b0929b6ed143d0485166ffb413be3c8c8ba7bfbd778ae80c2
MD5 7b22c8d3c47fe0d48d80bd84710b7a49
BLAKE2b-256 373e05981e269977db03baf03667db39d6af8476d5fa3b36efc3649885e6b00f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page