返回详细内容
This commit is contained in:
parent
defcb4aa7f
commit
b9e66f4bd7
|
|
@ -1,6 +1,6 @@
|
||||||
from rest_framework import serializers
|
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 .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
|
||||||
|
|
@ -160,6 +160,17 @@ class QActionItemSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
class QActionDetailSerializer(serializers.ModelSerializer):
|
class QActionDetailSerializer(serializers.ModelSerializer):
|
||||||
update_detail = QActionItemSerializer(source='items_qaction', many=True, read_only=True)
|
update_detail = QActionItemSerializer(source='items_qaction', many=True, read_only=True)
|
||||||
|
value2 = serializers.SerializerMethodField()
|
||||||
class Meta:
|
class Meta:
|
||||||
model = QAction
|
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
|
||||||
|
|
@ -175,12 +175,13 @@ class QActionViewSet(PageOrNot, ListModelMixin, DestroyModelMixin, RetrieveModel
|
||||||
serializer.is_valid(raise_exception=True)
|
serializer.is_valid(raise_exception=True)
|
||||||
obj = serializer.save(create_by=user, belong_dept=user.dept)
|
obj = serializer.save(create_by=user, belong_dept=user.dept)
|
||||||
vdata = serializer.validated_data
|
vdata = serializer.validated_data
|
||||||
|
value2 = request.data.get('value2', {})
|
||||||
# 比较差别
|
# 比较差别
|
||||||
quali = Quali.objects.get(id=obj.value2.get('id'))
|
quali = Quali.objects.get(id=value2.get('id'))
|
||||||
old_data = QualiSerializer(instance=quali).data
|
old_data = QualiListSerializer(instance=quali).data
|
||||||
obj.value1 = old_data
|
obj.value1 = old_data
|
||||||
obj.save()
|
obj.save()
|
||||||
for k, v in obj.value2.items():
|
for k, v in value2.items():
|
||||||
if v != old_data[k]:
|
if v != old_data[k]:
|
||||||
QActionItem.objects.create(action='update', field=k, value1=old_data[k], value2=v, qaction=obj)
|
QActionItem.objects.create(action='update', field=k, value1=old_data[k], value2=v, qaction=obj)
|
||||||
if k == 'citys':
|
if k == 'citys':
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue