如何解决从Django创建Rest API
我创建了模型来保存产品,类别和ProductCategory。
class Product(models.Model):
...
title = models.CharField(max_length=100,default = '')
...
class Category(models.Model):
name = models.CharField(max_length = 20,default = '')
class ProductCategory(models.Model):
product = models.ForeignKey(Product,default=None,on_delete=models.CASCADE)
category = models.ForeignKey(Category,on_delete=models.CASCADE)
该模型的序列化器:
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = '__all__'
class CategorySerializer(serializers.ModelSerializer):
class Meta:
model = Category
fields = '__all__'
class ProductCategorySerializer(serializers.ModelSerializer):
class Meta:
model = ProductCategory
fields = '__all__'
ViewSets
class ProductViewset(viewsets.ModelViewSet):
queryset = models.Product.objects.all()
serializer_class = serializers.ProductSerializer
class CategoryViewset(viewsets.ModelViewSet):
queryset = models.Category.objects.all()
serializer_class = serializers.CategorySerializer
class ProductCategoryViewset(viewsets.ModelViewSet):
queryset = models.ProductCategory.objects.all()
serializer_class = serializers.ProductCategorySerializer
直到现在,我可以将数据添加到每个表并从Django REST框架中查看它们。
Json回复:
产品:
[
...
{
"id": 1,"title": "Jacket One",}
...
]
类别
[
...
{
"id": 1,"name": "Jacket",}
...
]
产品类别
[
...
{
"id": 1,"product": 1,"category": 1
}
...
]
我要创建的实际json是:
[
"jacket":[
{
"id": 1,}
......other jacket products......
],........ other categories with their products ............
]
我如何实现这种json。我尝试加入模型并在queryset中进行过滤,但无法弄清楚。朝正确方向的任何帮助将不胜感激。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。