daren/apps/template/filters.py
2025-05-30 11:49:59 +08:00

24 lines
1.2 KiB
Python

import django_filters
from .models import Template
class TemplateFilter(django_filters.FilterSet):
"""模板过滤器"""
title = django_filters.CharFilter(field_name='title', lookup_expr='icontains')
content = django_filters.CharFilter(field_name='content', lookup_expr='icontains')
mission = django_filters.CharFilter(field_name='mission')
platform = django_filters.CharFilter(field_name='platform')
collaboration_type = django_filters.CharFilter(field_name='collaboration_type')
service = django_filters.CharFilter(field_name='service')
created_by = django_filters.NumberFilter(field_name='created_by__id')
is_public = django_filters.BooleanFilter(field_name='is_public')
created_after = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='gte')
created_before = django_filters.DateTimeFilter(field_name='created_at', lookup_expr='lte')
class Meta:
model = Template
fields = [
'title', 'content', 'mission', 'platform',
'collaboration_type', 'service',
'created_by', 'is_public',
'created_after', 'created_before'
]