返回详细内容

This commit is contained in:
曹前明 2022-06-02 15:06:58 +08:00
parent defcb4aa7f
commit b9e66f4bd7
2 changed files with 17 additions and 5 deletions

View File

@ -1,6 +1,6 @@
from rest_framework import serializers
from apps.system.models import City, Organization
from apps.system.models import City, 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
@ -160,6 +160,17 @@ class QActionItemSerializer(serializers.ModelSerializer):
class QActionDetailSerializer(serializers.ModelSerializer):
update_detail = QActionItemSerializer(source='items_qaction', many=True, read_only=True)
value2 = serializers.SerializerMethodField()
class Meta:
model = QAction
fields ='__all__'
fields ='__all__'
def get_value2(self, obj):
value2 = obj.value2
if 'province' in value2:
value2['province_name'] = Province.objects.get(id=value2['province']).name
if 'city' in value2:
value2['city_name'] = City.objects.get(id=value2['city']).name
if 'citys' in value2:
value2['citys_'] = CitySerializer(instance=City.objects.filter(id__in=value2['citys']), many=True).data
return value2

View File

@ -175,12 +175,13 @@ class QActionViewSet(PageOrNot, ListModelMixin, DestroyModelMixin, RetrieveModel
serializer.is_valid(raise_exception=True)
obj = serializer.save(create_by=user, belong_dept=user.dept)
vdata = serializer.validated_data
value2 = request.data.get('value2', {})
# 比较差别
quali = Quali.objects.get(id=obj.value2.get('id'))
old_data = QualiSerializer(instance=quali).data
quali = Quali.objects.get(id=value2.get('id'))
old_data = QualiListSerializer(instance=quali).data
obj.value1 = old_data
obj.save()
for k, v in obj.value2.items():
for k, v in value2.items():
if v != old_data[k]:
QActionItem.objects.create(action='update', field=k, value1=old_data[k], value2=v, qaction=obj)
if k == 'citys':