我今天面临一个非常奇怪的问题。
这是我的序列化程序类。
Topologyserializer
我从Django视图中调用{
"name":"tokpwol",
"json": [
]
}
,我传递的是json:
required = True
根据我在DRF中的经验,因为我在json
字段中提到了hide()
,所以不应该接受上面的json。
但我能够创造记录。 任何人都可以建议我为什么它没有验证json字段以及它如何接受空列表作为json字段?
我正在使用django rest framework 3.0.3
答案 0 :(得分:2)
DRF没有明确说明required
代表哪些列表。
在其代码中,只要提供了值,验证就会传递,即使该值是空列表。
如果要确保列表不为空,则需要手动验证其内容。您可以在TopologySerializer
上添加以下方法:
def validate_json(self, value):
if not value:
raise serializers.ValidationError("Connections list is empty")
return value
我现在无法测试它,但它应该可以工作。