gpt4 book ai didi

python - 如何验证序列化程序中嵌套项的长度?

转载 作者:太空狗 更新时间:2023-10-30 02:19:43 25 4
gpt4 key购买 nike

我正在使用 Django Rest Framework 2.4。在我期望包含两个键的字典的 API 中:

{
"category" : <category-id>,
"items" : [{"title": <title>}, {"title": <title>}, {"title": <title>}, ....]
}

我有一个 ItemListSerializer 接受这个字典。 category 是 Category 模型的外键,因此我们获得了该数据。类别有一个 limit 属性

我有一个由嵌套的 ItemSerializer 处理的项目列表,其中许多设置为 True

但是,我想检查项目总数是否没有超过基于类别的限制?

最佳答案

使用validate()序列化程序上的方法检查长度并在未通过时引发 ValidationError:

class YourSerializer(serializers.Serializer):
items = ItemSerializer(many=True)

def validate(self, attrs):
if len(attrs['items']) > YOUR_MAX:
raise serializers.ValidationError("Invalid number of items")

关于python - 如何验证序列化程序中嵌套项的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27896603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com