124*_*142 5 python django django-rest-framework
我读了django-rest-framework 嵌套关系:
你可以tracks看到AlbumSerializer:
class TrackSerializer(serializers.ModelSerializer):
class Meta:
model = Track
fields = ('order', 'title', 'duration')
class AlbumSerializer(serializers.ModelSerializer):
tracks = TrackSerializer(many=True, read_only=True)
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')
Run Code Online (Sandbox Code Playgroud)
官网没有给出分页的方法tracks,AlbumSerializer如果曲目数太多,如何实现曲目分页呢?
编辑
我想通过将页码传递给 API 来对其进行分页。
And*_*nes -1
如果你想建立一个分页,你可以这样做:
from django.core.paginator import Paginator
def viewPage(request, page):
paginator = Paginator(data, 10) # 10 being how many objects per page you want, data being an array of tracks
try:
tracks = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
tracks = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
tracks = paginator.page(paginator.num_pages)
return render(request, 'view_page.html', {
'tracks': tracks,
})
Run Code Online (Sandbox Code Playgroud)
您需要提供给 Paginator() 的数据是作为可迭代对象的整个曲目集合。
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |