model1. У нее есть foreign key mode2. Мне нужно сделать структуру, чтоб на можно было получать доступ вот так:
model1/model1-id/model2/model2-id
Как это во вьюхе на DRF?
То есть на model1/model1-id/ я хочу получать информацию об этом объекте и все model2, относящийся к этому объекту
Если речь идёт о только одной вложенности, то вот: Model2Serializer: class Meta: ... Model1Serializer: model2 = Model2Serializer(many=True) class Meta: ... Т.е. каждый путь нужно описывать явно. Если же речь о том, что вложенность может иметь неограниченную глубину, то нужно смотреть в сторону GraphQL
А зачем все это так делать, если нужно запрашивать 1 ресурс? Например /<model1_slug>, который будет содержать полную модель1 и зависимые к ней модели2
Да, у меня так и сделано, но мне нужно для model2 put/delete реализовать
Тогда почему ты хочешь обновлять один ресурс, через другой?
я первый раз пишу по сути фронт, и вот там я вывожу список model1. Когда нажимаешь на model1 - открывается список model2, которые относятся к этому model1. Я хочу сделать возможность удалять и изменять model2. Получается можно сделать отдельный вью для model2? И притягиватб просто model2/id?
Чтобы изменить model2 у тебя должна быть точка model2/id/ Ты открыл GET model1/, он дал тебе в том числе список id детей model2. Шлёшь DELETE model2/123/ и удаляешь объект model2 с id 123
Просто это странный дизайн реста, есть по нему много статей, советую перед писанием кода, его спроектировать
Да, я просто не всё знаю, но проект нужно сделать до дедлайна, поэтому и делаю, и узнаю новое))
Дедлайн всегда можно просрать, ради правильности реализации
Учебный дедлайн, не коммерческий проект
Тем более
Спасибо большое за совет, кстати. То есть получается проще отдельную точку сделать?
Чем зря парится и что то выдумывать?
Смотря какая логика. Обычно всегда пишут документацию к проекту, потом по ней реализуют всё
По сути айди на самом деле уникальные для каждой model2, не знаю, зачем я запарился
Да, есть уже готовые паттерны дизайна реста
https://dzone.com/articles/a-look-at-rest-api-design-patterns https://stoplight.io/blog/api-design-patterns-for-rest-web-services/
А что посоветуешь по генерации pdf? Я видел, что офф дока джанги предлагает ReportLab, мне нужно просто собрать данные с нескольких моделек и отдать пдф пользователю. Как будет лучше сделать?
Спасибо большое!
генерации pdf? Речь о документации или о чём? Вероятно @Nire1 говорил о свагере
Есть два варианта популярных- рендерить хтмл и конвертить в пдф или собирать пдф с помощью инструмента чисто для создания пдф файлов
Не обязательно, мы щас в гитбуке на стадии проектирования с фронтендером согласуем апишки. Но можно и в сваггере
Первый вариант, видимо, проще?
Второй вариант более точен и кастомизирован конкретно под форматы пдф, в первом варианте легче намного, но фишек пдф меньше можно заюзать
Спасибо большое!
Обсуждают сегодня