Как узнать ключ поля DictField сериализатора DRF из дочернего поля?
Допустим, у нас есть некий Django Rest Framework Serializer (назовем его "serializer"), который имеет пользовательский DictField в качестве одного из своих полей. В этом пользовательском DictField дочернее поле имеет задачу записывать ключ словаря, значением которого оно является всякий раз, когда вызывается serializer.save().
Как можно узнать ключ десериализуемого словаря при интерпретации внутреннего значения для сохранения?
class ChildField(Serializer):
parent_key = CharField()
def to_internal_value(self, data):
# At this point, the likely candidate for the
# key is self.field_value, but it is actually ''
# data['parent_key'] = ???
return super().to_internal_value(data)
class ParentField(DictField):
child = ChildField()
Предположим, что десериализуемые данные следующие:
{
"the_dictionary": {
"key_we_want_to_save": {
"arbitrary_other_child_data": True
}
}
}