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