quali增加file字段
This commit is contained in:
		
							parent
							
								
									d06c86cd80
								
							
						
					
					
						commit
						f54906b328
					
				| 
						 | 
					@ -0,0 +1,20 @@
 | 
				
			||||||
 | 
					# Generated by Django 3.0.5 on 2022-06-06 05:40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.db import migrations, models
 | 
				
			||||||
 | 
					import django.db.models.deletion
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Migration(migrations.Migration):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dependencies = [
 | 
				
			||||||
 | 
					        ('system', '0021_auto_20220530_1520'),
 | 
				
			||||||
 | 
					        ('ability', '0033_auto_20220606_1323'),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    operations = [
 | 
				
			||||||
 | 
					        migrations.AddField(
 | 
				
			||||||
 | 
					            model_name='quali',
 | 
				
			||||||
 | 
					            name='file',
 | 
				
			||||||
 | 
					            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='system.File', verbose_name='关联文件'),
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
| 
						 | 
					@ -158,6 +158,8 @@ class Quali(CommonAModel):
 | 
				
			||||||
    qualilib = models.ForeignKey(QualiLib, verbose_name='关联资质库',
 | 
					    qualilib = models.ForeignKey(QualiLib, verbose_name='关联资质库',
 | 
				
			||||||
                                 null=True, blank=True, on_delete=models.SET_NULL)
 | 
					                                 null=True, blank=True, on_delete=models.SET_NULL)
 | 
				
			||||||
    end_date = models.DateField('截至日期', null=True, blank=True)
 | 
					    end_date = models.DateField('截至日期', null=True, blank=True)
 | 
				
			||||||
 | 
					    file = models.ForeignKey(File, null=True, blank=True, verbose_name='关联文件', on_delete=models.CASCADE)
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QTask(CommonBModel):
 | 
					class QTask(CommonBModel):
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
from rest_framework import serializers
 | 
					from rest_framework import serializers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from apps.system.models import City, Organization, Province
 | 
					from apps.system.models import City, File, Organization, Province
 | 
				
			||||||
from .models import QAction, QActionItem, QOrg, QTask, Quali, QualiLib
 | 
					from .models import QAction, QActionItem, QOrg, QTask, Quali, QualiLib
 | 
				
			||||||
from django.db import transaction
 | 
					from django.db import transaction
 | 
				
			||||||
from apps.system.serializers import CitySerializer, FileSimpleSerializer, OrganizationSimpleSerializer, DictSerializer, UserSimpleSerializer
 | 
					from apps.system.serializers import CitySerializer, FileSimpleSerializer, OrganizationSimpleSerializer, DictSerializer, UserSimpleSerializer
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,7 @@ class QualiListSerializer(serializers.ModelSerializer):
 | 
				
			||||||
    city_name = serializers.CharField(source='city.name', read_only=True)
 | 
					    city_name = serializers.CharField(source='city.name', read_only=True)
 | 
				
			||||||
    org_ = OrganizationSimpleSerializer(source='org', read_only=True)
 | 
					    org_ = OrganizationSimpleSerializer(source='org', read_only=True)
 | 
				
			||||||
    citys_ = CitySerializer(source='citys', many=True, read_only=True)
 | 
					    citys_ = CitySerializer(source='citys', many=True, read_only=True)
 | 
				
			||||||
 | 
					    file_ = FileSimpleSerializer(source='file', read_only=True)
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        model = Quali
 | 
					        model = Quali
 | 
				
			||||||
        fields = '__all__'
 | 
					        fields = '__all__'
 | 
				
			||||||
| 
						 | 
					@ -99,7 +100,7 @@ class QualiCreateSerializer(serializers.ModelSerializer):
 | 
				
			||||||
    citys = serializers.ListField(child=serializers.IntegerField(), label='城市ID列表')
 | 
					    citys = serializers.ListField(child=serializers.IntegerField(), label='城市ID列表')
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        model = Quali
 | 
					        model = Quali
 | 
				
			||||||
        fields = ['name', 'type', 'grade', 'scope', 'level', 'province', 'city', 'description', 'citys']
 | 
					        fields = ['name', 'type', 'grade', 'scope', 'level', 'province', 'city', 'description', 'citys', 'file']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QualiUpdateSerializer(serializers.ModelSerializer):
 | 
					class QualiUpdateSerializer(serializers.ModelSerializer):
 | 
				
			||||||
| 
						 | 
					@ -107,7 +108,7 @@ class QualiUpdateSerializer(serializers.ModelSerializer):
 | 
				
			||||||
    id = serializers.IntegerField(label='修改资质的ID')
 | 
					    id = serializers.IntegerField(label='修改资质的ID')
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        model = Quali
 | 
					        model = Quali
 | 
				
			||||||
        fields = ['scope', 'level', 'description', 'id', 'citys']
 | 
					        fields = ['scope', 'level', 'description', 'id', 'citys', 'file']
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QualiSerializer(serializers.ModelSerializer):
 | 
					class QualiSerializer(serializers.ModelSerializer):
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
| 
						 | 
					@ -129,6 +130,8 @@ class QActionQualiCreateSerializer(serializers.ModelSerializer):
 | 
				
			||||||
            value2['province'] = value2['province'].id
 | 
					            value2['province'] = value2['province'].id
 | 
				
			||||||
        if value2['city']:
 | 
					        if value2['city']:
 | 
				
			||||||
            value2['city'] = value2['city'].id
 | 
					            value2['city'] = value2['city'].id
 | 
				
			||||||
 | 
					        if value2['file']:
 | 
				
			||||||
 | 
					            value2['file'] = value2['file'].id
 | 
				
			||||||
        return super().create(validated_data)
 | 
					        return super().create(validated_data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QActionQualiUpdateSerializer(serializers.ModelSerializer):
 | 
					class QActionQualiUpdateSerializer(serializers.ModelSerializer):
 | 
				
			||||||
| 
						 | 
					@ -174,4 +177,6 @@ class QActionDetailSerializer(serializers.ModelSerializer):
 | 
				
			||||||
                value2['city_name'] = City.objects.get(id=value2['city']).name
 | 
					                value2['city_name'] = City.objects.get(id=value2['city']).name
 | 
				
			||||||
            if value2.get('citys', None):
 | 
					            if value2.get('citys', None):
 | 
				
			||||||
                value2['citys_'] = CitySerializer(instance=City.objects.filter(id__in=value2['citys']), many=True).data
 | 
					                value2['citys_'] = CitySerializer(instance=City.objects.filter(id__in=value2['citys']), many=True).data
 | 
				
			||||||
 | 
					            if value2.get('file', None):
 | 
				
			||||||
 | 
					                value2['file_'] = FileSimpleSerializer(instance=File.objects.get(id=value2['file'])).data
 | 
				
			||||||
        return value2
 | 
					        return value2
 | 
				
			||||||
| 
						 | 
					@ -22,7 +22,7 @@ class QualiLibViewSet(PageOrNot, ListModelMixin, GenericViewSet):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class QualiViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
 | 
					class QualiViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
 | 
				
			||||||
    perms_map = {'get': '*'}
 | 
					    perms_map = {'get': '*'}
 | 
				
			||||||
    queryset = Quali.objects.select_related('org', 'province', 'city').prefetch_related('citys')
 | 
					    queryset = Quali.objects.select_related('org', 'province', 'city', 'file').prefetch_related('citys')
 | 
				
			||||||
    serializer_class = QualiListSerializer
 | 
					    serializer_class = QualiListSerializer
 | 
				
			||||||
    search_fields = ['name', 'type', 'grade', 'scope', 'level', 'description']
 | 
					    search_fields = ['name', 'type', 'grade', 'scope', 'level', 'description']
 | 
				
			||||||
    ordering = ['org', 'org__sort', 'create_time']
 | 
					    ordering = ['org', 'org__sort', 'create_time']
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue