UnisKB/apps/common/field/common.py

35 lines
802 B
Python
Raw Normal View History

2024-01-16 08:46:54 +00:00
# coding=utf-8
"""
@project: maxkb
@Author
@file common.py
@date2024/1/11 18:44
@desc:
"""
from rest_framework import serializers
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类型错误', 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('不是一個函數', value=data)
return data
def to_representation(self, value):
return value