允许serializers.ListField中的空列表

时间:2015-11-18 21:10:51

标签: django rest django-rest-framework

我正在使用Django REST框架3.3并尝试使用框架中包含的提供的serializers.ListField类来序列化可能为空的列表。我目前对该字段的实例化看起来像这样

 countrypreferences = serializers.ListField(child=serializers.IntegerField(),
                                            source='country_preference_ids',
                                            allow_null=True)

在测试API时,如果我将该字段设为空列表,我似乎总是得到400响应。看起来这种功能很常见,但我找不到允许空列表的方法。谢谢!

3 个答案:

答案 0 :(得分:5)

你应该设置:

db2_stmt_errormsg()

答案 1 :(得分:3)

除此之外,您还可以为序列化程序中的ListField提供默认值

field = serializers.ListField(default = [])

如果您发送无或无值,则会将该字段设置为空列表。

答案 2 :(得分:1)

我宁愿使用

field = serializers.ListField(child=serializers.CharField(), allow_empty=True)