我在用Django Rest framework。我想序列化多个模型并作为响应发送。目前,每个视图只能发送一个模型(比如下面的CartView
只发送Cart对象)。下面的模型(不相关的)可能存在。
class Ship_address(models.Model):
...
class Bill_address(models.Model):
...
class Cart(models.Model):
...
class Giftwrap(models.Model):
...
我试过使用DjangoRestMultiplemodels,它工作正常,但有一些限制。有内置的方法吗?我不能附加到在以下视图中创建的序列化程序吗?
from rest_framework.views import APIView
class CartView(APIView):
"""
Returns the Details of the cart
"""
def get(self, request, format=None, **kwargs):
cart = get_cart(request)
serializer = CartSerializer(cart)
# Can't I append anything to serializer class like below ??
# serializer.append(anotherserialzed_object) ??
return Response(serializer.data)
我真的很喜欢DRF。但是这个用例(发送多个对象)使我认为,如果编写一个简单的旧Django视图将更适合这样的需求。
您可以自定义它,而且不会太奇怪,因为这是一个
APIView
(与人类期望g e t返回单个模型的ModelViewSet
相反),例如,您可以从GET响应中的不同模型返回多个对象相关问题 更多 >
编程相关推荐