В настоящее время я пытаюсь перенести функциональность объектных отношений с бэкэнда php на бэкэнд с python. В приложении php у вас был такой вызов:
~api/v1/cats/5b40b6eb-538f-a015-9196-1cc63cf8d7ae
Это вернуло бы результат, подобный следующему:
{
id: "5b40b6eb-538f-a015-9196-1cc63cf8d7ae",
name: "mittens",
hatId: "0845de76-9d68-cfee-0ebb-473ccddf16bc",
}
Функциональность, которую я пытаюсь повторить, состоит в том, чтоесли бы вы добавили к вызову параметр include с именем внешнего объекта, например:
~api/v1/cats/5b40b6eb-538f-a015-9196-1cc63cf8d7ae?include=hat
, то он бы возвратил исходный объект, включая объект внешнего ключа
{
id: "5b40b6eb-538f-a015-9196-1cc63cf8d7ae",
name: "mittens",
hatId: "0845de76-9d68-cfee-0ebb-473ccddf16bc",
hat: {
id: "0845de76-9d68-cfee-0ebb-473ccddf16bc",
name: 'top hat',
}
}
Все этоДо сих пор я сталкивался с select_related, HyperlinkedRelatedField и prefetch_related;кажется, что ни один из них не может получить вышеуказанный результат при реализации.