Nếu tôi có một serializer lồng nhau:bối cảnh trong serializers lồng nhau django còn lại khung
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')
Và tôi muốn truy cập vào ngữ cảnh trong serializer lồng nhau, làm thế nào tôi có thể làm điều đó? Theo như tôi có thể nói, ngữ cảnh không được truyền cho đứa trẻ.
Tôi muốn để có thể thực hiện một mô hình cho phép mỗi người dùng trên các lĩnh vực, cho rằng tôi ghi đè các get_fields() phương pháp của 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
nào làm việc cho serializers thường xuyên, nhưng bối cảnh, và do đó yêu cầu và người dùng không có sẵn khi con lồng nhau được chuyển tới get_fields(). Làm thế nào để tôi truy cập vào bối cảnh khi serializer được lồng nhau?