在DRF中,我可以像这样序列化本机Python对象:
class Comment(object):
def __init__(self, email, content, created=None):
self.email = email
self.content = content
self.created = created or datetime.now()
class CommentSerializer(serializers.Serializer):
email = serializers.EmailField()
content = serializers.CharField(max_length=200)
created = serializers.DateTimeField()
comment = Comment(email='leila@example.com', content='foo bar')
serializer = CommentSerializer(comment)
serializer.data
# --> {'email': 'leila@example.com', 'content': 'foo bar', 'created': '2016-01-27T15:17:10.375877'}
是否可以使用ListSerializer
对对象列表执行相同的操作?
答案 0 :(得分:44)
您可以简单地为序列化列表添加many = True。
comment = [Comment(email='leila@example.com', content='foo bar'),Comment(email='leila1@example.com', content='foo bar 1'),Comment(email='leila2@example.com', content='foo bar 2')]
serializer = CommentSerializer(comment, many=True)
serializer.data