Se ho un serializzatore nidificato:contesto in serializzatori nidificate Django resto quadro
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')
e voglio accedere al contesto nel serializzatore nidificato, come posso farlo? Per quanto posso dire, il contesto non è passato al bambino.
Voglio essere in grado di implementare un modello di autorizzazione per utente sui campi, per questo ho sovrascritto le get_fields() il metodo del 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
che lavora per serializzatori regolari, ma il contesto, e quindi la richiesta e l'utente non sono disponibili quando il figlio nidificato viene passato a get_fields(). Come accedo al contesto quando il serializzatore è annidato?