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