모델을 직렬화하고 싶지만 직렬화 할 모델 인스턴스에서 일부 데이터베이스 조회를 수행해야하는 추가 필드를 포함하고 싶습니다.
class FooSerializer(serializers.ModelSerializer):
my_field = ... # result of some database queries on the input Foo object
class Meta:
model = Foo
fields = ('id', 'name', 'myfield')
이것을하는 올바른 방법은 무엇입니까? 나는 것을 볼 당신이 여분의 "상황"에 전달할 수 있습니다 상황에 맞는 사전에 추가 필드에 통과 할 수있는 권리 대답은, 시리얼에? 이 방법을 사용하면 필요한 필드를 가져 오는 논리가 serializer 정의와 함께 포함되지 않으며 이는 모든 직렬화 된 인스턴스가 필요하기 때문에 이상적입니다 my_field
. 다른 곳 DRF 시리얼 설명서는 말한다 "추가 필드가 모델에 어떤 속성이나 호출에 해당 할 수 있습니다." 내가 말하는 것이 추가 필드입니까? 값 Foo
을 반환하는 모델 정의 에서 함수를 정의해야 my_field
하며 직렬 변환기에서 my_field를 해당 호출 가능 항목에 연결해야합니까? 그것은 어떻게 생겼습니까?
미리 감사드립니다. 필요한 경우 질문을 명확하게 설명하십시오.