python - 将计数字段添加到 django rest 框架序列化程序

标签 python django serialization

我正在序列化内置的 django Group 模型,并想在序列化程序中添加一个字段来计算组中的用户数。我目前正在使用以下序列化程序:

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
}

任何帮助将不胜感激。谢谢。

最佳答案

有点晚但简短的回答。试试这个

user_count = serializers.IntegerField(
    source='user_set.count', 
    read_only=True
)

关于python - 将计数字段添加到 django rest 框架序列化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33345089/

相关文章:

python - Python程序到网站应用程序

python - 使用 Marshmallow 的嵌套模式自动字典键解析

java - 服务器/客户端通信问题

Python - 如何删除以数字开头并包含句点的单词

python - 如何使用 boto 库生成临时 url 以将文件上传到 Amazon S3?

python - Django oscar 在 <WSGIRequest GET > 中查找键 [basket] 失败

python - Django |在模板中对字典进行排序

c# - 使用 DataContractSerializer 自定义序列化

python - Pylint变量名不符合snake_case命名风格

python - 我如何跟踪有多少用户访问我的网站