Какой лучший способ десериализации JSON в несколько моделей в django rest framework

Я совсем новичок в django rest framework и хотел бы обсудить, как лучше всего реализовать конечные точки API, к которым я стремлюсь.

У меня есть следующий пример JSON:

[
    {
        'top_lvl_key1': {
            id: 1
            'some_key1': "value"
            'some_key2' : "value" 
        }
    },
    {
        'top_lvl_key2': {
            id: 1
            'some_key1': "value"
            'some_key2' : "value" 
        }
    },
    {
        'top_lvl_key1': {
            id: 2
            'some_key1': "value"
            'some_key3' : "value" 
        }
    },
    {
        'top_lvl_key3': {
            id: 1
            'some_key1': "value"
            'some_key2' : "value" 
        }
    }
]

и я хочу иметь 3 конечные точки

[POST] /insert вставка и разбор всего JSON для хранения его в моделях

[GET] /detail/<top_lvl_key>/ Вывести все записи для specfici top_lvl_key

[GET] /detail//<top_lvl_key>/id/ Отображение записи для определенного top_lvl_key и определенного id (только 1 запись)

Как вы видите, мне нужно хранить каждый тип top_lvl_key в разной модели, чтобы я мог извлекать его для GET-запросов. Однако я не уверен, как мне следует сериализовать JSON, поскольку словари top_lvl_keys могут отличаться. Например, top_lvl_key_1 иногда может иметь some_key_1 и some_key_2, а иногда some_key_1 и some_key_2. До сих пор я реализовывал модели с помощью blank=True, null=True, но я не уверен, что это лучшее решение, так как сейчас есть много атрибутов, которые могут быть NULL. Есть ли лучший способ сделать это?

Заранее большое спасибо

Вернуться на верх