【发布时间】:2021-06-30 13:03:31
【问题描述】:
我有一个“Model-Viewset-Serializer”,我需要我的 Serializer 来显示模型中不存在的其他字段。
型号:
class MyModel(models.Model):
id = models.UUIDField(primary_key=True, unique=True, default=uuid.uuid4, editable=False, null=False)
type = models.CharField(max_length=100, null=False, blank=False)
name = models.CharField(max_length=100, null=False, blank=False)
视图集:
class MyViewSet(
mixins.ListModelMixin,
mixins.CreateModelMixin,
mixins.UpdateModelMixin,
mixins.DestroyModelMixin,
mixins.RetrieveModelMixin,
viewsets.GenericViewSet
):
permission_classes = [permissions.AllowAny]
queryset = MyModel.objects.all()
serializer_class = MySerializer
def list(self, request, *args, **kwargs):
queryset = MyModel.objects.filter(organization_id=request.user.my_connection_id)
page = self.paginate_queryset(queryset)
serializer = MySerializer(page, many=True)
return self.get_paginated_response(serializer.data)
序列化器:
class MySerializer(ModelSerializer):
class Meta:
model = MyModel
fields = ('id', 'type', 'name', 'description', 'array')
我需要在预览中添加以下对象
数组:
[
{'status': 'ok', 'value': '1'},
{'status': 'pending', 'value': '5'},
{'status': 'approval', 'value': '3'},
{'status': 'rejected', 'value': '4'}
]
描述: '文字描述'
【问题讨论】:
-
您希望在哪个端点上添加这些附加字段,以及如何构建它?
标签: python django django-rest-framework django-serializer django-rest-viewsets