Я хочу загрузить некоторые исходные данные в мое приложение django для модели, но для этого нужен специальный формат:
[
{
"model": "myapp.person",
"pk": 1,
"fields": {
"first_name": "John",
"last_name": "Lennon"
}
},
{
"model": "myapp.person",
"pk": 2,
"fields": {
"first_name": "Paul",
"last_name": "McCartney"
}
}
]
Все остальные способы, которые я пробовал, ставить квадратные скобки или значения индекса, которые мне не нужны. В фрейме данных индекс будет отображаться как «pk», а значения столбцов должны быть такими же, как в «поле» («имя» и «фамилия» будут целевыми столбцами моего фрейма данных).
Использование этого кода было наиболее близким, но оно добавляет квадратные скобки вокруг значений в "полях"
df.groupby(['model', 'pk'], as_index=False)
.apply(lambda x: {"first_name": df.first_name[x['pk']], "last_name": df.last_name[x['pk']]})
.reset_index().rename(columns={0:'fields'})
.to_json(orient='records')