diff --git a/apps/qm/admin.py b/apps/qm/admin.py index 6cefc524..8c477c1f 100644 --- a/apps/qm/admin.py +++ b/apps/qm/admin.py @@ -6,4 +6,4 @@ from apps.qm.models import TestItem @admin.register(TestItem) class TestItemAdmin(admin.ModelAdmin): date_hierarchy = 'create_time' - list_display = ('id', 'name', 'tags') + list_display = ('id', 'name', 'tags', 'mcate_tags', 'field_type', 'choices') diff --git a/apps/qm/filters.py b/apps/qm/filters.py index e8913875..1c485f0e 100644 --- a/apps/qm/filters.py +++ b/apps/qm/filters.py @@ -16,11 +16,9 @@ class QuaStatFilter(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: model = TestItem - fields = ['tag'] - - def filter_tag(self, queryset, name, value): - return queryset.filter(tags__contains=value) + fields = ['tags__contains', 'mcate_tags__contains'] diff --git a/apps/qm/migrations/0016_auto_20240807_0958.py b/apps/qm/migrations/0016_auto_20240807_0958.py index beca675e..627e1ecf 100644 --- a/apps/qm/migrations/0016_auto_20240807_0958.py +++ b/apps/qm/migrations/0016_auto_20240807_0958.py @@ -43,7 +43,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='testitem', 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( model_name='testitem', diff --git a/apps/qm/models.py b/apps/qm/models.py index b43e11c6..c88be078 100644 --- a/apps/qm/models.py +++ b/apps/qm/models.py @@ -50,7 +50,7 @@ class TestItem(CommonAModel): 检测项目 """ 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', '多选') )) number = models.CharField('编号', max_length=20, default='', blank=True) diff --git a/apps/qm/views.py b/apps/qm/views.py index 7bddbcc5..17a8da2c 100644 --- a/apps/qm/views.py +++ b/apps/qm/views.py @@ -39,7 +39,7 @@ class TestItemViewSet(CustomModelViewSet): queryset = TestItem.objects.all() serializer_class = TestItemSerializer filterset_class = TestItemFilter - search_fields = ['tags', 'name', 'number'] + search_fields = ['tags', 'name', 'number', 'mcate_tags'] ordering = ['id']