我有一个观点,将记录分页(每页10个),如下所示:
class Foo(models.Model):
bar = models.BooleanField(db_index=True)
user = models.ForeignKey(User, db_index=True, editable=False)
baz = models.CharField(max_length=120)
created = models.DateTimeField(db_index=True, auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
class UserSerializer(ModelSerializer):
class Meta:
model = User
fields = ('id', 'username')
class FooSerializer(ModelSerializer):
user = UserSerializer()
class Meta:
model = Foo
class FooPagination(PageNumberPagination):
page_size = 10
class FooView(ListAPIView):
serializer_class = FooSerializer
pagination_class = FooPagination
def get_queryset(self):
user = self.request.user
'''
Do something here (or when page is requested) with each record on
the current page.
'''
return Foo.objects.filter(bar=true, user=user).order_by('created')
如何处理仅在当前页上的Foo记录?你知道吗
也许有更好的解决方案,但我必须在查询集过滤和分页之后,但在序列化之前,推出自己的视图类来进行后期处理:
用法:
相关问题 更多 >
编程相关推荐