【问题标题】:How to reference a serializer in Django如何在 Django 中引用序列化程序
【发布时间】:2022-01-11 11:25:42
【问题描述】:

我有两个用于产品和成分模型的序列化程序,我想在前端使用这两种关系。作为成分模型(ingredient.products)中的产品,我希望产品模型(product.ingredients)中的产品相同,那么我该如何获得呢?

这是我的代码,

class IngredientSerializer(serializers.ModelSerializer):
    # products = serializers.SerializerMethodField() //this line doesn't work

    class Meta:
        model = Ingredient
        fields = '__all__'

class ProductSerializer(serializers.ModelSerializer):
    ingredients = IngredientSerializer(many=True, required=False)

    class Meta:
        model = Product
        fields = '__all__'

以及成分模态,

class Ingredient(models.Model):
    products = models.ManyToManyField('Product', related_name="ingredients", null=True)
    name = models.CharField(max_length=100, blank=True, null=True)
    image = models.ImageField(blank=True, null=True)

【问题讨论】:

  • # products = serializers.SerializerMethodField()。为什么这不起作用?你有什么错误吗?

标签: django django-models django-rest-framework


【解决方案1】:
    class ProductSerializer(serializers.ModelSerializer):
        ingredients = IngredientSerializer(many=True, required=False)
    
        class Meta:
            model = Product
            fields = '..', '..', 'ingredients'

【讨论】:

    猜你喜欢
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 2018-07-11
    • 1970-01-01
    • 2021-04-06
    • 2018-02-17
    相关资源
    最近更新 更多