Django REST Framework: adding additional field to ModelSerializer

前端 未结 8 1986
遇见更好的自我
遇见更好的自我 2020-11-28 01:33

I want to serialize a model, but want to include an additional field that requires doing some database lookups on the model instance to be serialized:

class          


        
8条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-28 02:04

    As Chemical Programer said in this comment, in latest DRF you can just do it like this:

    class FooSerializer(serializers.ModelSerializer):
        extra_field = serializers.SerializerMethodField()
    
        def get_extra_field(self, foo_instance):
            return foo_instance.a + foo_instance.b
    
        class Meta:
            model = Foo
            fields = ('extra_field', ...)
    

    DRF docs source

提交回复
热议问题