33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
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'] |