# models.py
from django.db import models
class YourModel(models.Model):
name = models.CharField(max_length=255)
category = models.CharField(max_length=255)
date_added = models.DateField()
# forms.py
from django import forms
from .models import YourModel
class YourModelForm(forms.ModelForm):
class Meta:
model = YourModel
fields = '__all__'
# views.py
from django.shortcuts import render
from .forms import YourModelForm
from .models import YourModel
def your_view(request):
if request.method == 'POST':
form = YourModelForm(request.POST)
if form.is_valid():
# Process the form data
name_filter = form.cleaned_data.get('name')
category_filter = form.cleaned_data.get('category')
date_added_filter = form.cleaned_data.get('date_added')
# Apply filters to your queryset
queryset = YourModel.objects.filter(
name__icontains=name_filter,
category__icontains=category_filter,
date_added__gte=date_added_filter
)
# Additional processing or rendering logic
else:
form = YourModelForm()
return render(request, 'your_template.html', {'form': form})
<!-- your_template.html -->
<form method="post" action="{% url 'your_view_name' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
# urls.py
from django.urls import path
from .views import your_view
urlpatterns = [
path('your-url/', your_view, name='your_view_name'),
]