0

私はdjangoとtastypieでアプリケーションを構築しており、ajax経由でオブジェクトを読み込もうとしています. たとえば、3 つのオブジェクトを表示し、ユーザーが最後のオブジェクトに到達したら、さらに 3 つをロードします。

それで、tastypie api のクエリセットを変更しようとしていますが、これを行う方法が見つかりません。ajax 呼び出しstartで、制限の開始を定義するパラメーターを送信します。しかし、このパラメーターにアクセスしてクエリセットを変更できる場所がわかりません。

class EntryResource(ModelResource):

    def dehydrate(self, bundle):
        # I can get the parameter here but it's not useful
        start = bundle.request['start']
        return bundle

    def get_object_list(self, request):
        # I can modify the objects returned here but how can I access bundle.request ?
        return super(EntryResource, self).get_object_list(request).filter(active=True)

    class Meta:
        queryset = Entry.objects.all()
        resource_name = 'entry'
4

1 に答える 1

1

解決策を見つけました。これは実際には非常に簡単でしたが、他の誰かに役立つ場合に備えて答えを書きます.

解決策は、ページネーターを使用することです (適切な用語をグーグルで調べていなかったので、最初は見つかりませんでした)。私は ajax 呼び出しでパラメーターoffsetlimitパラメーターを送信します。

詳細: http://django-tastypie.readthedocs.org/en/latest/paginator.html

于 2013-02-24T18:15:51.600 に答える