Какой лучший способ десериализации 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. Есть ли лучший способ сделать это?
Заранее большое спасибо