3
Django RESTフレームワークでは、私は2つのシリアライザPageSerializer
とCommentSerializer
を持っています。シリアライザ間でコンテキストを渡しますか?
CommentSerializer
は、いくつかの余分な「コンテキスト」値に依存しますが、直接取得するのではなく、ネストされた関係があるためPageSerializer
から取得する必要があります。
class CommentSerializer(serializers.ModelSerializer):
...
my_field = serializers.SerializerMethodField()
def get_my_field(self, comment):
my_value = self.context['my_value']
...
class PageSerializer(serializers.ModelSerializer):
...
comments = CommentSerializer(
many=True,
context={'my_value': my_value} # my_value doesn't exist until __init__ is called, so I can't pass it
)
...
my_value = 1
page_serializer = PageSerializer(page, context={'my_value': my_value})
しかし、もちろん、このコードは動作しないことができます。
は、だから私はこのようなものを持っている必要があります。
ここではどのような回避策を講じることができますか?
ああ、それは安堵です、ありがとう! – user3134477