Rest Framework,如何简化多对多的关系

时间:2015-09-08 16:29:09

标签: python django django-rest-framework django-orm

我有一个名为ManytoManyField()的{​​{1}},它以嵌套格式序列化,如下所示:

books

由于我只序列化1个字段,因此该字段是唯一的。如何展平字段以输出简单列表?

books = BooksSerializer(read_only=True, many=True)

"books": [
{
    "id": 12
},
{
    "id": 13
},

1 个答案:

答案 0 :(得分:2)

您可以使用SerializerMethodField并在那里提供自定义序列化逻辑:

class LibrarySerializer(model.ModelSerializer):
    books = serializers.SerializerMethodField()

    def get_books(self, library):
        return [book.id for book in library.books]