4
私は2つのモデルがあります:ジャンゴ・休憩・フレームワーク:ネストされたオブジェクトをページ分割
class Book(models.Model):
title = models.CharField(max_length=250)
author = models.CharField(max_length=250)
class WordInBook(models.Model):
book = models.ForeignKey("Book")
word = models.ForeignKey("Word")
と、対応するシリアライザを:
class BookSerializer(ModelSerializer):
wordinbook_set = WordInBookSerializer(many=True)
class Meta:
model = Book
fields = ('id', 'title', 'author', 'wordinbook_set')
class WordInBookSerializer(ModelSerializer):
class Meta:
model = WordInBook
fields = ('word')
今私はwordinbook_setページ番号を付けたいです。シリアライザの外では簡単です:
book = Book.objects.get(pk=book_id)
paginator = Paginator(book.wordinbook_set.all(), 10)
words = paginator.page(page).object_list
しかし、それは私に2つの別々のシリアル化されたオブジェクトを残します。
質問:どうすればシリアライザ内でwordinbook_setをページ付けできますか?
結果のJSONは次のようになります。
{id: '...', title: '...', author: '...', wordinbook_set: [ 10 WordInBook objects here ]}