请帮忙。我需要做的是根据方法获得不同的响应或数据——像这样:
if request.method == 'POST':
return all the items created including the last one (actually it returns only >the last item created)
else if request.method == 'PUT':
return the last item updated
View .py
class RubroViewSet(viewsets.ModelViewSet):
queryset = Rubro.objects.all()
serializer_class = RubroSerializer
模型.py
class Rubro(models.Model):
nombre = models.CharField(max_length=50)
descripcion = models.TextField()
class Meta:
verbose_name_plural = 'Rubros'
db_table = "core_rubros"
def __str__(self):
return self.nombre
序列化器.py
class RubroSerializer(serializers.ModelSerializer):
class Meta:
model = Rubro
fields = '__all__'
请您参考如下方法:
使用 viewsets.Viewset 是一种简单的方法。 http://www.django-rest-framework.org/api-guide/viewsets/
或使用@detail_route()
@detail_route(methods=['post'])
def some_method(self, request):
serializer = RubroSerializer(data=request.data)
if serializer.is_valid():
return Response({'status': 'success'})
else:
return Response(serializer.errors,
status=status.HTTP_400_BAD_REQUEST)
