返回详细内容
This commit is contained in:
parent
defcb4aa7f
commit
b9e66f4bd7
|
|
@ -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
|
||||
|
|
@ -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':
|
||||
|
|
|
|||
Loading…
Reference in New Issue