Additional Logic on 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) ... ...
There is more! Check the full documentation here
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.6.0.tar.gz
(6.3 kB
view hashes)
Built Distribution
Close
Hashes for django_alo_forms-1.6.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a8f2532e0ffdb68a81c1a183297e51aeee3287cc1869daf84f2fd3128feb5da |
|
MD5 | ff45b1539c46d70491aca0e47c8cc847 |
|
BLAKE2b-256 | 69d9e07ffb8060870fc1f210bf6d50ecc27027d4e8d5ca7cb7233563f9cd5325 |