mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-29 07:52:50 +00:00
feat: application save (#3151)
This commit is contained in:
parent
30a60c9ab8
commit
6bbb181927
|
|
@ -0,0 +1,66 @@
|
|||
# coding=utf-8
|
||||
"""
|
||||
@project: maxkb
|
||||
@Author:虎
|
||||
@file: common.py
|
||||
@date:2024/1/11 18:44
|
||||
@desc:
|
||||
"""
|
||||
from rest_framework import serializers
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
|
||||
class ObjectField(serializers.Field):
|
||||
def __init__(self, model_type_list, **kwargs):
|
||||
self.model_type_list = model_type_list
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def to_internal_value(self, data):
|
||||
for model_type in self.model_type_list:
|
||||
if isinstance(data, model_type):
|
||||
return data
|
||||
self.fail(_('Message type error'), value=data)
|
||||
|
||||
def to_representation(self, value):
|
||||
return value
|
||||
|
||||
|
||||
class InstanceField(serializers.Field):
|
||||
def __init__(self, model_type, **kwargs):
|
||||
self.model_type = model_type
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def to_internal_value(self, data):
|
||||
if not isinstance(data, self.model_type):
|
||||
self.fail(_('Message type error'), value=data)
|
||||
return data
|
||||
|
||||
def to_representation(self, value):
|
||||
return value
|
||||
|
||||
|
||||
class FunctionField(serializers.Field):
|
||||
|
||||
def to_internal_value(self, data):
|
||||
if not callable(data):
|
||||
self.fail(_('not a function'), value=data)
|
||||
return data
|
||||
|
||||
def to_representation(self, value):
|
||||
return value
|
||||
|
||||
|
||||
class UploadedImageField(serializers.ImageField):
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def to_representation(self, value):
|
||||
return value
|
||||
|
||||
|
||||
class UploadedFileField(serializers.FileField):
|
||||
def __init__(self, **kwargs):
|
||||
super().__init__(**kwargs)
|
||||
|
||||
def to_representation(self, value):
|
||||
return value
|
||||
Loading…
Reference in New Issue