我正在python django rest框架中编写一个API,我坚持为ENUM创建一个序列化器字段,如何为ENUM字段创建一个序列化器字段.我的型号代码是:
class Queue(models.Model):
class Meta:
db_table = 'queues'
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True)
name = models.CharField(max_length=45)
type = EnumChoiceField(QueueTypes, default=QueueTypes.pending)
date = models.DateTimeField(auto_now=True)
Run Code Online (Sandbox Code Playgroud)
我正在为这个模型编写一个序列化器.
class QueueSerializer(serializers.ModelSerializer):
class Meta:
model = Queue
fields = ('__all__')
id = serializers.CharField(read_only=True)
name = serializers.CharField(max_length=45, required=True)
type=?????# what am i supposed to do here?
date = serializers.DateTimeField(read_only=True)
Run Code Online (Sandbox Code Playgroud) django django-models django-serializer django-rest-framework python-3.6
我可以使用@ detail_router的分页吗?
class GroupViewSet(viewsets.ReadOnlyModelViewSet):
"""
Group View Set
"""
queryset = Group.objects.all()
serializer_class = GroupSerializer
pagination_class = StandardResultsSetPagination
@detail_route()
def user(self, request, pk=None):
_group = self.get_object()
users_post = _group.user_set.all()
page = self.paginate_queryset(users_post)
if page is not None:
serializers = UserSerializer(users_post, many=True, context={'request': request})
return self.get_paginated_response(serializers.data)
serializers = UserSerializer(users_post, many=True, context={'request': request})
return Response(serializers.data)
Run Code Online (Sandbox Code Playgroud)
分页在Djagno Rest Framework中不起作用.
它只适用于页面大小.一页有全部内容,下一页是相同的全部内容.我怎么做分页?