小编Ale*_*der的帖子

Django-Rest-Framework:Paginate嵌套对象

我有两个型号:

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")
Run Code Online (Sandbox Code Playgroud)

和相应的序列化器:

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')
Run Code Online (Sandbox Code Playgroud)

现在我想分页wordinbook_set.在序列化器之外很容易:

book = Book.objects.get(pk=book_id)
paginator = Paginator(book.wordinbook_set.all(), 10)
words = paginator.page(page).object_list
Run Code Online (Sandbox Code Playgroud)

但这留下了两个独立的序列化对象.

问题:如何在序列化器中对wordinbook_set进行分页?
生成的json应如下所示:

{id: '...', title: '...', author: '...', wordinbook_set: [ 10 WordInBook objects here ]}
Run Code Online (Sandbox Code Playgroud)

django serialization pagination django-rest-framework

6
推荐指数
2
解决办法
1530
查看次数

流星没有开始

我在启动Meteor示例时遇到问题.这就是我输入meteor应用程序文件夹时得到的结果

    [[[[[ ~/parties ]]]]]

    Unexpected mongo exit code 100. Restarting.
    Unexpected mongo exit code 100. Restarting.
    Unexpected mongo exit code 100. Restarting.
    Can't start mongod

    MongoDB had an unspecified uncaught exception.
    Check to make sure that MongoDB is able to write to its database directory.
Run Code Online (Sandbox Code Playgroud)

我已经尝试过meteor reset删除.meteor/local/db/mongo.lock- 没有任何改变

我试着打字 mongod

    mongod --help for help and startup options
    Sun Jun  2 00:00:39.080 [initandlisten] MongoDB starting : pid=1962 port=27017                                                   dbpath=/data/db/ 64-bit host=orion
    Sun Jun  2 00:00:39.081 …
Run Code Online (Sandbox Code Playgroud)

mongodb meteor

4
推荐指数
1
解决办法
2969
查看次数