Я пытаюсь сериализовать поле json со значениями списка.
Примерно так:
{
"source_1": ["key_1"].
"source_2": ["key_3", "key_4"]
}
Я пытаюсь сериализовать это, используя вложенные сериализаторы, застрявшие в в середине:
models.py
class ModelA(models.Model):
AVAILABLE_SOURCES = [
"source_1",
"source_2"
]
SOURCE1_KEYS = ["key_1", "key_2"]
SOURCE2_KEYS = ["key_3", "key_4"]
custom_keys = JSONField()
serializers.py
class CustomKeySerializer(serializers.Serializer):
# TODO: Here I need to check if all the sources and
# keys corresponding to them are valid
pass
class ModelASerializer(serializers.ModelSerializer):
custom_keys = CustomKeySerializer()
class Meta:
model = ModelA
fields = ('__all__',)
Я хочу вызвать ошибку ValidationError если исходные или связанные ключи, указанные в custom_keys, недействительны. Если вообще этого нельзя сделать так, каковы другие возможные способы сделать это?