0

「コメント」を含むmongodbドキュメント「投稿」がありEmbeddedListFieldます。私は Tastypie を使用して API レイヤーを構築しており、単一の投稿が要求された場合にのみ、コメントを本文フィールドと共に一覧表示したいと考えています。投稿のリストが要求されたときに、アプリのパフォーマンスが低下するため、コメント本文全体を表示したくありません。これは私のリソースファイルにあるものです:

comments = tastypie_mongoengine_fields.EmbeddedListField(of='api_core.resources.EmbeddedCommentResource', attribute='comments', full=True, null=True)

これについて何ができますか?'post_entry' と 'post_list' の 2 つのエントリ ポイントを作成したくありません。これは、API のコンシューマにとって不適切な設計になるためです。

4

1 に答える 1

0

脱水方法で簡単なチェックを行いました:

    def dehydrate(self, bundle):
    if self.get_resource_uri(bundle) != bundle.request.path:
        bundle.data['comments_count'] = len(bundle.data['comments'])
        del bundle.data['comments']
        bundle.data['user_id'] = bundle.data['user'].data['id']
        bundle.data['user_name'] = bundle.data['user'].data['first_name']
        bundle.data['user_uri'] = bundle.data['user'].data['resource_uri']
        del bundle.data['user']
    return bundle
于 2013-10-31T05:15:44.410 に答える