我正在序列化内置的django组模型,并希望向序列化程序添加一个字段,该字段计算组中的用户数。我当前正在使用以下序列化程序:
class GroupSerializer(serializers.ModelSerializer):
class Meta:
model = Group
fields = ('id', 'name', 'user_set')
这将返回组ID和名称以及组中的用户数组(用户ID):
{
"id": 3,
"name": "Test1",
"user_set": [
9
]
}
作为输出,我想要的是:
{
"id": 3,
"name": "Test1",
"user_count": 1
}
任何帮助都将不胜感激。谢谢。
回答有点晚,但简短。试试这个
每个人的回答都很好。我想在这里提供另一个选项-使用
@property
如果并且仅当您可以修改目标模型时。假设您可以修改
Group
模型。然后您可以简单地将
'user_count'
添加到序列化程序中的fields
。我正在使用这种方法,但我正在考虑切换到序列化器方法作为其他方法的答案。谢谢大家。
这应该管用
这将向序列化程序添加一个
user_count
字段,该字段的值由get_user_count
设置,它将返回user_set
的长度。您可以在这里找到有关SerializerMethodField的更多信息:http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield
相关问题 更多 >
编程相关推荐