3
使用Django REST Framework,我有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