如何传递与Django Rest Framework中的序列化器字段无关的参数?

nil*_*jan 5 django rest

我有一个表单,其中的字段与模型无关.我假设使用REST API(django-rest-framework)实现等效,我必须传递那些与Serializer无关的附加字段?我怎么做?

假设附加字段是number_of_pages.我用它进行一些计算.如何允许在我的REST调用中传递它?

小智 0

如果您正在使用django-rest-framework,那么您可以使用SerializerMethodField()在 Api 中传递其他字段。下面我举个例子。

class UserGroupSerializer(serializers.ModelSerializer):
"""
    This Serializer pass additionl field count. by using SerializerMethodField()
"""
count = serializers.SerializerMethodField()

class Meta:
    model = UserGroup

def get_count(self,obj):
    """return length of group"""
    return Groupmember.objects.filter(user_group=obj.id).count()
Run Code Online (Sandbox Code Playgroud)

并使用

serializer_class = UserGroupSerializer
Run Code Online (Sandbox Code Playgroud)

在视图中。

我认为它可以帮助你。

谢谢