我今天面临一个非常奇怪的问题。你知道吗
这是我的序列化程序类。你知道吗
class Connectivity(serializers.Serializer):
device_type = serializers.CharField(max_length=100,required=True)
device_name = serializers.CharField(max_length=100,required=True)
class Connections(serializers.Serializer):
device_name = serializers.CharField(max_length=100,required=True)
connectivity = Connectivity(required = True, many = True)
class Topologyserializer(serializers.Serializer):
name = serializers.CharField(max_length=100,required=True, \
validators=[UniqueValidator(queryset=Topology.objects.all())])
json = Connections(required=True,many=True)
def create(self, validated_data):
return validated_data
我从Django视图调用Topologyserializer
,并传递一个json,如:
{
"name":"tokpwol",
"json": [
]
}
根据我使用DRF的经验,因为我在json
字段中提到了required = True
,所以它不应该接受上面的json。你知道吗
但我能创造记录。 有人能告诉我为什么不验证json字段,以及它如何接受空列表作为json字段吗?你知道吗
我使用的是django rest框架3.0.3
DRF并没有明确说明
required
代表什么列表。 在其代码中,只要提供一个值,验证就会通过,即使该值是一个空列表。你知道吗如果要确保列表不为空,则需要手动验证其内容。您可以在
TopologySerializer
上添加以下方法:我现在不能测试它,但它应该能工作。你知道吗
相关问题 更多 >
编程相关推荐