【问题标题】:How to make a new serializer class using few fields of two serializers如何使用两个序列化器的几个字段创建一个新的序列化器类
【发布时间】:2020-03-08 01:20:14
【问题描述】:

我有两个模型,比如说模型 1 和模型 2。 我还有两个序列化器类,即 ModelOneSerializer 和 ModelTwoSerializer 。

我想使用两个模型(表)中的几个字段创建一个新的序列化程序类(带有一个新模型)。

现在,这两个模型都有少数具有相同名称的字段,例如 'name' 、 'capacity' 等。我想使用两个模型中的字段 'name' 而第二个模型中的 'capacity'。

如何使用两个模型中的少量字段来编写这个新的序列化程序类?

【问题讨论】:

    标签: django serialization model


    【解决方案1】:
    class DispvsLRSerializer(serializers.ModelSerializer):
        fk_field_1 = serializers.Charfield(source='fk_1.field', read_only=True)
        fk_field_2 = serializers.Charfield(source='fk_2.field', read_only=True)
    
        class Meta:
            model = MainModel
            fields = [.....,
                      .....,
                     'fk_field_1', 
                     'fk_field_2']
    

    【讨论】:

    • 谢谢,但是如果我不想创建另一个模型,那么我们应该怎么做?我只想使用这两个序列化程序。
    • 主模型字段可以直接添加到fields和fk字段如上图
    猜你喜欢
    • 2022-11-28
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 2017-02-08
    • 2014-08-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多