Add additonal logic to your Django forms
Project description
in forms.py
from alo import forms from alo.operators import AND, OR class BookForm(forms.QueryForm): # Django form fields year = forms.IntegerField(required=False, min_value=1970, max_value=2012) title = forms.CharField(required=False) genre = forms.CharField(required=False) author = forms.CharField(required=False) house = forms.CharField(required=False) class Meta: lookups = { # query_name: model_field__lookups 'year': 'publication_date__year', 'title': 'title__icontains', 'genre': 'genres', 'author': 'author_id', 'house': 'publishing_house__id', } extralogic = [ # Combine the form fields with boolean logic AND('genre', OR('author', 'house')) ] class BookModelForm(forms.QueryModelForm): class Meta: model = Book fields = ( 'publication_date', 'title', 'genres', 'author', 'publishing_house' ) lookups = { # query_name: model_field__lookups 'publication_date': 'publication_date__year', 'title': 'title__icontains', } extralogic = [ # Combine the form fields with boolean logic AND('genres', OR('author', 'publishing_house')) ]
in views.py
from .forms import BookForm from .models import Book def example(request): form = BookForm(request.GET) if form.is_valid(): # form.parameters is like form.cleaned_data but # with lookups applied and without empty values Book.objects.filter(**form.parameters) ... ...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-alo-forms-1.1.0.tar.gz
(3.1 kB
view hashes)
Built Distribution
Close
Hashes for django_alo_forms-1.1.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9cbc2754fe4092a9ce17c2ae99e930ba826bdd063ee72aa9621ff560690f34c |
|
MD5 | 603363cb1f24f5ad6b14f71e0383059d |
|
BLAKE2b-256 | 5258762a1cf51e0f9b845a48f1700500f789e25b3c7214ffae8040af08eb5204 |