我正在嘗試to_representation在 django的序列化程式方法中執行請求檢查,但self.context始終為空。任何想法為什么?
class TwitterAccountsListsSerializer(serializers.ModelSerializer):
class Meta:
model = TwitterAccountsList
fields = ["id", "name", "created_at", "is_private", "accounts"]
extra_kwargs = {
"accounts": {"write_only": True},
}
def to_representation(self, instance):
import pdb; pdb.set_trace()
# self.context is always an empty dict here {}
return super().to_representation(instance)
uj5u.com熱心網友回復:
您需要通過序列化程式背景關系傳遞請求。如果您使用的是通用視圖,并且get_serializer函式而不是直接訪問序列化程式,則默認情況下會傳遞請求。否則,您可以像這樣顯式傳遞。
serializer = YouSerializerClass(#other arguments here, context={'request': request})
在這樣的通用視圖中
serializer = self.get_serializer(# your argument here)
然后你可以像這樣從序列化程式訪問它
request = self.context.get('request')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/420704.html
標籤:
