Files
account_store/BaseModels/api/base_api_serializers.py
SDE b2bd830b6e 0.0.3
GeneralApp add
2023-06-19 17:19:18 +03:00

44 lines
1.4 KiB
Python

from rest_framework import serializers
from django.contrib.contenttypes.models import ContentType
from BaseModels.mailSender import techSendMail
class Import_Element_Srializer(serializers.Serializer):
element = serializers.JSONField()
class Meta:
fields = (
'element',
)
class Import_Pocket_Srializer(serializers.Serializer):
timestamp = serializers.IntegerField()
warehouse = serializers.CharField()
data_list = Import_Element_Srializer(many=True)
class Meta:
fields = (
'timestamp', 'warehouse', 'data_list'
)
class Generic_base_Serializer(serializers.ModelSerializer):
linked_object_type = serializers.CharField(required=False)
def create(self, validated_data):
if 'linked_object_type' in validated_data:
try:
validated_data['content_type'] = ContentType.objects.get(model=validated_data['linked_object_type'])
del validated_data['linked_object_type']
except Exception as e:
msg = 'Ошибка создания generic объекта<br>{0}({1})<br>{2}'.format(
str(e),
str(e.args),
str(validated_data)
)
print(msg)
title = 'ОШИБКА tE Generic_base_Serializer create'
techSendMail(msg, title)
return super(Generic_base_Serializer, self).create(validated_data)