【发布时间】:2020-08-06 10:09:39
【问题描述】:
我有两个序列化程序。我想将 HelloSerializer 用于 POST 请求,将 SchemaSerializer 用于 Get 请求。在 def get 中,我想列出模型中的所有数据。我该怎么做?
class SchemaSerializer(serializers.ModelSerializer):
"""Serializes Schema"""
class Meta:
model = models.Schema
fields = ( 'id', 'name', 'version')
class HelloSerializer(serializers.Serializer):
name = serializers.CharField()
我的 Views.py:
class HelloApiView(APIView):
"""Test API View"""
serializer_class = serializers.HelloSerializer
def get()
def post(self, request):
"""Create a hello message with our name"""
serializer = self.serializer_class(data=request.data)
if serializer.is_valid():
name = serializer.validated_data.get('name')
message = f'Hello {name}!'
return Response({'message': message})
else:
return Response(
serializer.errors,
status=status.HTTP_400_BAD_REQUEST
)
我的模型.py
class Schema(models.Model):
"""Database model for Schema """
name= models.TextField()
version = models.TextField()
def __str__(self):
return self.name
【问题讨论】:
标签: django django-models django-rest-framework django-views