фронтэнд emberjs, бэкэнд django+django-rest-framework
есть форма заказа. юзер там выбирает значения из селектов, значение которых тянется из других таблиц.
на стороне сервера естественно заказ представлен в виде модели и связанные таблицы там models.ForeignKey, с этим всё понятно.
при чтении модели с сервера (list, retrieve) мне кажется логично отдавать модель сразу с включением зависимых данных(EMBEDDED RECORDS в терминах emberjs). с этим опять же проблем нет, drf умеет так отдавать.
{
"mainmodel":
{
"id": 1,
"simplefield": "string",
"complexfield" : {
"id": 1,
"name": "somename"
}
}
}
а вот создавая новую запись включать значение зависимых данные вроде как не хорошо. и drf ругается что он из коробки так не умеет и нужно создавать кастомный create, и это будет считаться что ты хочешь создать основную модель и зависимую сразу. в общем при создании посылаются id на данные зависимых таблиц.
{
"mainmodel":
{
"simplefield": "string2",
"complexfield" : 2
}
}
неприятность в том что drf после успешного создания записи, возвращает этот же json емберу, а ембер как я понимаю ожидает модель с embedded records в ответ даже на запрос создания модели. и в итоге на сервере модель корректно создаётся, а ембер возвращает ошибку, потому что ему пришло то чего он не ждал.
правильный ли юскейс я вообще выбрал ? и как правильно работать с моделями с зависимостями в связке emberjs+django ?