小编Rhy*_*ang的帖子

django Rest框架如何验证对象列表?

我已经知道 drf 有一个接口可以向 obejct 添加验证器,我有一个视图可以通过一个请求创建多个 Param 对象,我想验证是否有两个或多个对象的namevalue字段相同,我该如何验证序列化器中的对象列表?

模型.py

class Param(models.Model):
    name = models.CharField(max_length=256)
    value = models.CharField(max_length=256)

    class Meta:
        unique_together = ('name', 'value')
Run Code Online (Sandbox Code Playgroud)

序列化器.py

class ParamSerializer(serializers.ModelSerializer):

    class Meta:
        model = models.ParamKey
        fields = ['name', 'value']
        extra_kwargs = {
            'id': {
                'required': False,
            },
            'name': {
                'required': False,
            }
        }
Run Code Online (Sandbox Code Playgroud)

视图.py

class ParamViewSet(viewsets.ViewSet):

    def create(self, request):

        serializer = serializer.ParamKeySerializer(
            data=request.data, many=True)
        if serializer.is_valid():
            return Response()
        return Response()
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

5
推荐指数
1
解决办法
7414
查看次数

标签 统计

django ×1

django-rest-framework ×1

python ×1