【发布时间】:2021-04-06 21:20:03
【问题描述】:
我正在使用 Django Rest Framework,我希望我的数据可以这样存储:
'days': [True, True, False, True, False, False, False] 作为返回字段之一。
我想要一个序列化器:
class HistorySerializer(serializers.Serializer):
days = serializers.BooleanField(many=True)
但serializers.BooleanField 没有“很多”参数。
我试过这样做:
class DaysListField(serializers.ListField):
day = serializers.BooleanField()
class HistorySerializer(serializers.Serializer):
days = DaysListField()
但它会产生:
'days': [{'day': True}, {'day': True}, {'day': False}, {'day': False}, {'day': False}, {'day': False}, {'day': False}]
我也试过这样做:
class HistorySerializer(serializers.Serializer):
days = serializers.SerializerMethodField()
def get_days(self, obj) -> List[bool]:
return obj.days
但 Swagger 产生的 days 类型的输出不正确,它说应该是 boolean 而不是 [boolean]。
正确处理此列表的最佳方法是什么?
【问题讨论】:
标签: python django serialization django-rest-framework swagger