【问题标题】:how to manipulate fields of Serializer without changing the model?如何在不改变模型的情况下操作序列化器的字段?
【发布时间】:2025-11-25 07:00:01
【问题描述】:

我在 serializers.py 中有以下序列化程序:

class ChatSerializer(serializers.ModelSerializer):

    class Meta:
        model = Message
        fields = ('id','subject')

我想解析主题并序列化 2 个其他字段而不是原始字段“主题” - subject1 = foo1(subject) 和 subject2 = foo2(subject) 所以之前的 Meta 类会变成:

Class Meta:
    model = Message
    fields = ('id','subject1','subject2')

请注意我不想改变 Message 模型本身(可以通过@property 定义)

我该怎么做?

【问题讨论】:

    标签: django rest django-rest-framework serialization


    【解决方案1】:

    您希望 SerializerMethodField 假设它是只读的。如果需要读写,则必须编写自定义序列化器字段。

    【讨论】:

      最近更新 更多