如果我有一個嵌套的串行:方面Django的REST框架
class ChildSerializer(ModelSerializer):
class Meta:
fields = ('c_name',)
model = Child
class ParentSerializer(ModelSerializer):
child = ChildSerializer(many=True, read_only=True)
class Meta:
model = Parent
fields = ('p_name', 'child')
,我想訪問上下文嵌套串,我怎麼能做到這一點?據我所知,上下文不會傳遞給孩子。
我希望能夠實現每個用戶權限模型的領域,我覆蓋了get_fields()的ModelSerializer的方法:
def get_fields(self):
fields = super().get_fields()
....
for f in fields:
if has_rights(self.context['request'].user, f, "read"):
ret_val[f] = fields[f]
....
return ret_val
這對於經常串行工作,但背景下,並且因此當嵌套子代傳遞給get_fields()時請求和用戶不可用。序列化程序嵌套時,如何訪問上下文?