我有一个名为ManytoManyField()
的{{1}},它以嵌套格式序列化,如下所示:
books
由于我只序列化1个字段,因此该字段是唯一的。如何展平字段以输出简单列表?
books = BooksSerializer(read_only=True, many=True)
"books": [
{
"id": 12
},
{
"id": 13
},
答案 0 :(得分:2)
您可以使用SerializerMethodField
并在那里提供自定义序列化逻辑:
class LibrarySerializer(model.ModelSerializer):
books = serializers.SerializerMethodField()
def get_books(self, library):
return [book.id for book in library.books]