慕工程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)如何實現(xiàn)以下結(jié)果: { "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條經(jīng)驗 獲得超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
添加回答
舉報
0/150
提交
取消