from django_filters import FilterSet, CharFilter, ModelChoiceFilter from .models import Part class PartFilter(FilterSet): type = ModelChoiceFilter( field_name='type', choices=Part.TYPE_CHOICES, label='Тип заготовки' ) thickness_min = CharFilter( field_name='thickness', label='Минимальная толщина', widget=forms.NumberInput(attrs={'placeholder': 'От'}) ) thickness_max = CharFilter( field_name='thickness', label='Максимальная толщина', widget=forms.NumberInput(attrs={'placeholder': 'До'}) ) search = CharFilter( field_name='name', label='Поиск по наименованию', widget=forms.TextInput(attrs={'placeholder': 'Введите текст'}) ) decimal_number = CharFilter( field_name='decimal_number', label='Поиск по децимальному номеру', widget=forms.TextInput(attrs={'placeholder': 'Введите номер'}) ) class Meta: model = Part fields = ['type', 'thickness_min', 'thickness_max', 'search', 'decimal_number']