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='关联资质库',
 | 
			
		||||
                                 null=True, blank=True, on_delete=models.SET_NULL)
 | 
			
		||||
    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):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
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 django.db import transaction
 | 
			
		||||
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)
 | 
			
		||||
    org_ = OrganizationSimpleSerializer(source='org', read_only=True)
 | 
			
		||||
    citys_ = CitySerializer(source='citys', many=True, read_only=True)
 | 
			
		||||
    file_ = FileSimpleSerializer(source='file', read_only=True)
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = Quali
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
| 
						 | 
				
			
			@ -99,7 +100,7 @@ class QualiCreateSerializer(serializers.ModelSerializer):
 | 
			
		|||
    citys = serializers.ListField(child=serializers.IntegerField(), label='城市ID列表')
 | 
			
		||||
    class Meta:
 | 
			
		||||
        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):
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +108,7 @@ class QualiUpdateSerializer(serializers.ModelSerializer):
 | 
			
		|||
    id = serializers.IntegerField(label='修改资质的ID')
 | 
			
		||||
    class Meta:
 | 
			
		||||
        model = Quali
 | 
			
		||||
        fields = ['scope', 'level', 'description', 'id', 'citys']
 | 
			
		||||
        fields = ['scope', 'level', 'description', 'id', 'citys', 'file']
 | 
			
		||||
 | 
			
		||||
class QualiSerializer(serializers.ModelSerializer):
 | 
			
		||||
    class Meta:
 | 
			
		||||
| 
						 | 
				
			
			@ -129,6 +130,8 @@ class QActionQualiCreateSerializer(serializers.ModelSerializer):
 | 
			
		|||
            value2['province'] = value2['province'].id
 | 
			
		||||
        if value2['city']:
 | 
			
		||||
            value2['city'] = value2['city'].id
 | 
			
		||||
        if value2['file']:
 | 
			
		||||
            value2['file'] = value2['file'].id
 | 
			
		||||
        return super().create(validated_data)
 | 
			
		||||
 | 
			
		||||
class QActionQualiUpdateSerializer(serializers.ModelSerializer):
 | 
			
		||||
| 
						 | 
				
			
			@ -174,4 +177,6 @@ class QActionDetailSerializer(serializers.ModelSerializer):
 | 
			
		|||
                value2['city_name'] = City.objects.get(id=value2['city']).name
 | 
			
		||||
            if value2.get('citys', None):
 | 
			
		||||
                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
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +22,7 @@ class QualiLibViewSet(PageOrNot, ListModelMixin, GenericViewSet):
 | 
			
		|||
 | 
			
		||||
class QualiViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
 | 
			
		||||
    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
 | 
			
		||||
    search_fields = ['name', 'type', 'grade', 'scope', 'level', 'description']
 | 
			
		||||
    ordering = ['org', 'org__sort', 'create_time']
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue