【发布时间】:2016-11-22 18:13:33
【问题描述】:
我有以下三个模型:
from model_utils.managers import InheritanceManager
class Product(models.Model):
name = models.CharField(max_length=50, blank=False, verbose_name="Type here name",)
class Pub(Product):
product = models.OneToOneField(Product, parent_link=True, )
seating_capacity = models.IntegerField(null=False, verbose_name="Seating capacity of the Pub",)
class Restaurant(Product):
product = models.OneToOneField(Product, parent_link=True, )
food_speciality = MultiSelectField(choices = MY_CHOICES)
我已经实现了 django-cart 并将 Product 作为我的产品模型。我将所有产品退回到我的前端。这基本上将仅具有产品特定属性的产品对象发送到前端,因此很难区分哪个产品是 Pub 哪个是 Restaurant。
如何在后端处理这个问题?有什么方法可以提取/发送产品类型吗?
这就是我的视图:
@api_view(('GET',))
def show(request):
cart = Cart(request.session)
products = cart.products
serializer = ProductSerializer(products, many=True)
return Response(serializer.data)
它返回例如:
[{"id":1,"name":"Shreyas","price":"45000.00000","avg_user_rating":"4.50000","city":1},{"id":4,"name":"Phadake","price":"350.00000","avg_user_rating":"5.00000","city":2}]
序列化器:
class ProductSerializer(serializers.ModelSerializer):
category = serializers.ReadOnlyField()
class Meta:
model = Product
fields = '__all__'
【问题讨论】:
标签: django django-rest-framework