feat: 增加testitem筛选条件
This commit is contained in:
parent
239f01a4ca
commit
ab9b1b7f27
|
@ -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')
|
||||||
|
|
|
@ -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)
|
|
||||||
|
|
|
@ -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',
|
||||||
|
|
|
@ -14,7 +14,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)
|
||||||
|
|
|
@ -25,7 +25,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']
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue