rpj创建时创建file
This commit is contained in:
parent
a9a36ffd88
commit
9e19a65609
|
@ -5,7 +5,7 @@ from apps.rpm.models import Rcertificate, Remployee, Rfile, Rparty, Rpjcertifica
|
|||
from apps.system.models import Dept
|
||||
from apps.utils.constants import EXCLUDE_FIELDS
|
||||
from apps.utils.serializers import CustomModelSerializer
|
||||
from apps.system.serializers import DictSerializer, FileSerializer
|
||||
from apps.system.serializers import DictSerializer, DictSimpleSerializer, FileSerializer
|
||||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ParseError
|
||||
from django.db import transaction
|
||||
|
@ -200,6 +200,8 @@ class RpjmemberSerializer(CustomModelSerializer):
|
|||
|
||||
|
||||
class RpjfileSerializer(CustomModelSerializer):
|
||||
file_cate_ = DictSimpleSerializer(source='file_cate', read_only=True)
|
||||
files_ = FileSerializer(source='files', read_only=True)
|
||||
class Meta:
|
||||
model = Rpjfile
|
||||
fields = '__all__'
|
||||
|
|
|
@ -3,7 +3,7 @@ from apps.hrm.models import Certificate, Employee
|
|||
from apps.hrm.serializers import CertificateCreateUpdateSerializer, CertificateSerializer, EmployeeSerializer
|
||||
from apps.rpm.models import Rcertificate, Remployee, Rparty, Rfile, Rpjfile, Rpjmember, Rpj
|
||||
from apps.rpm.serializers import RcertificateCreateUpdateSerializer, RcertificateSerializer, RemployeeCreateSerializer, RemployeeSerializer, RpartyAssignSerializer, RpartyCreateUpdateSerializer, RfileListSerializer, RpartySerializer, RpjListSerializer, RpjfileSerializer, RpjfileUpdateSerializer, RpjmemberCreateSerializer, RpjmemberCreatesSerializer, RpjCreateUpdateSerializer, RpjmemberSerializer, RpjmemberUpdateSerializer
|
||||
from apps.system.models import Post, User, UserPost
|
||||
from apps.system.models import Dictionary, Post, User, UserPost
|
||||
from apps.utils.viewsets import CustomGenericViewSet, CustomModelViewSet
|
||||
from rest_framework.mixins import CreateModelMixin, ListModelMixin, RetrieveModelMixin, DestroyModelMixin, UpdateModelMixin
|
||||
from apps.utils.mixins import CustomDestoryModelMixin
|
||||
|
@ -129,7 +129,11 @@ class RpjViewSet(CustomModelViewSet):
|
|||
raise ParseError('请指定相关方')
|
||||
if not vdata.get('belong_dept', None):
|
||||
vdata['belong_dept'] = vdata['rparty'].belong_dept
|
||||
return super().create(request, *args, **kwargs)
|
||||
ins = super().create(request, *args, **kwargs)
|
||||
# 同步创建需要提交的资料
|
||||
for i in Dictionary.objects.filter(type__code='rparty_file').order_by('sort'):
|
||||
Rpjfile.objects.create(rpj=ins, file_cate=i)
|
||||
return ins
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
obj = self.get_object()
|
||||
|
@ -150,6 +154,8 @@ class RpjmemberViewSet(CustomModelViewSet):
|
|||
create_serializer_class = RpjmemberCreateSerializer
|
||||
update_serializer_class = RpjmemberUpdateSerializer
|
||||
serializer_class = RpjmemberSerializer
|
||||
select_related_fields = ['rpj']
|
||||
filterset_fields = ['rpj']
|
||||
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
obj = self.get_object()
|
||||
|
@ -163,6 +169,9 @@ class RpjfileViewSet(UpdateModelMixin, DestroyModelMixin, ListModelMixin, Custom
|
|||
queryset = Rpjfile.objects.all()
|
||||
update_serializer_class = RpjfileUpdateSerializer
|
||||
serializer_class = RpjfileSerializer
|
||||
select_related_fields = ['rpj']
|
||||
prefetch_related_fields = ['files']
|
||||
filterset_fields = ['rpj']
|
||||
|
||||
def update(self, request, *args, **kwargs):
|
||||
obj = self.get_object()
|
||||
|
|
|
@ -32,7 +32,7 @@ class TDevice(BaseModel):
|
|||
(DEVICE_PANEL, '面板机')
|
||||
)
|
||||
type = models.PositiveSmallIntegerField('设备类型', choices=DEVICE_CHOICE)
|
||||
code = models.CharField('设备唯一标识', max_length=20)
|
||||
code = models.CharField('设备唯一标识', max_length=20, db_index=True)
|
||||
location = models.JSONField('位置信息', default=dict,
|
||||
null=False, blank=True)
|
||||
area = models.ForeignKey(Area, on_delete=models.CASCADE,
|
||||
|
|
Loading…
Reference in New Issue