feat: 增加testitem筛选条件

This commit is contained in:
caoqianming 2024-08-07 10:18:11 +08:00
parent be8fbec24e
commit cf7007f8b8
5 changed files with 7 additions and 9 deletions

View File

@ -6,4 +6,4 @@ from apps.qm.models import TestItem
@admin.register(TestItem) @admin.register(TestItem)
class TestItemAdmin(admin.ModelAdmin): class TestItemAdmin(admin.ModelAdmin):
date_hierarchy = 'create_time' date_hierarchy = 'create_time'
list_display = ('id', 'name', 'tags') list_display = ('id', 'name', 'tags', 'mcate_tags', 'field_type', 'choices')

View File

@ -16,11 +16,9 @@ class QuaStatFilter(filters.FilterSet):
class TestItemFilter(filters.FilterSet): class TestItemFilter(filters.FilterSet):
tag = filters.CharFilter(method='filter_tag') tags__contains = filters.CharFilter(field_name='tags', lookup_expr='contains')
mcate_tags__contains = filters.CharFilter(field_name='mcate_tags', lookup_expr='contains')
class Meta: class Meta:
model = TestItem model = TestItem
fields = ['tag'] fields = ['tags__contains', 'mcate_tags__contains']
def filter_tag(self, queryset, name, value):
return queryset.filter(tags__contains=value)

View File

@ -43,7 +43,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='testitem', model_name='testitem',
name='field_type', name='field_type',
field=models.CharField(choices=[('input-number', '数字输入'), ('input-text', '文本输入'), ('select', '单选'), ('selects', '多选')], default='float', max_length=20, verbose_name='字段类型'), field=models.CharField(choices=[('input-number', '数字输入'), ('input-text', '文本输入'), ('select', '单选'), ('selects', '多选')], default='input-number', max_length=20, verbose_name='字段类型'),
), ),
migrations.AddField( migrations.AddField(
model_name='testitem', model_name='testitem',

View File

@ -50,7 +50,7 @@ class TestItem(CommonAModel):
检测项目 检测项目
""" """
name = models.CharField('名称', max_length=100) name = models.CharField('名称', max_length=100)
field_type = models.CharField('字段类型', max_length=20, default='float', choices=( field_type = models.CharField('字段类型', max_length=20, default='input-number', choices=(
('input-number', '数字输入'), ('input-text', '文本输入'), ('select', '单选'), ('selects', '多选') ('input-number', '数字输入'), ('input-text', '文本输入'), ('select', '单选'), ('selects', '多选')
)) ))
number = models.CharField('编号', max_length=20, default='', blank=True) number = models.CharField('编号', max_length=20, default='', blank=True)

View File

@ -39,7 +39,7 @@ class TestItemViewSet(CustomModelViewSet):
queryset = TestItem.objects.all() queryset = TestItem.objects.all()
serializer_class = TestItemSerializer serializer_class = TestItemSerializer
filterset_class = TestItemFilter filterset_class = TestItemFilter
search_fields = ['tags', 'name', 'number'] search_fields = ['tags', 'name', 'number', 'mcate_tags']
ordering = ['id'] ordering = ['id']