亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在具有多對多關系的 Django 中反向序列化

如何在具有多對多關系的 Django 中反向序列化

慕工程0101907 2021-12-09 15:26:52
我首先制作了categorycrud,然后productcrud 與category.models.py( category):class Category(models.Model):    name = models.CharField(max_length=191, blank=False, null=False)    description = models.TextField(blank=True, null=True)models.py( product):class Product(models.Model):    product_code = models.CharField(max_length=191, blank=False, null=False)    name = models.CharField(max_length=191, blank=False, null=False)    description = models.TextField(blank=False, null=False)    price = models.DecimalField(max_digits=19, decimal_places=2)    photo = models.ImageField(upload_to='pictures/products/', max_length=255, null=False, blank=False)    category = models.name = models.ManyToManyField(Category)如何實現以下結果:  {        "categories": [            {                "id": 1,                "name": "Indoor Muscle Training",                "description": null,                "products":{                       "name":"product_name",                       "code":"product_code"                }            },            {                "id": 2,                "name": "Outdoor Muscle Training",                "description": null,                "products":{                       "name":"product_name",                       "code":"product_code"                }            }        ]  }
查看完整描述

1 回答

?
吃雞游戲

TA貢獻1829條經驗 獲得超7個贊

serializer-method在這種情況下,使用字段可以是一個選項。我們的目標是product從category序列化程序中獲取信息。所以對于這個


class CategorySerializer(serializers.ModelSerializer):

    products = serializers.SerializerMethodField()


    class Meta:

        model = Category

        fields = ('') # add relative fields


   def get_products(self, obj):

       products = obj.product_set.all() # will return product query set associate with this category

       response = ProductSerializer(products, many=True).data

       return response


查看完整回答
反對 回復 2021-12-09
  • 1 回答
  • 0 關注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號