привязки есть название соц.сети и url-ка
Как можно организовать API так, чтобы за один раз можно было редактировать несколько привязок (например, одну из связей удалить, в другой исправиль URL)?
В классическом ModelViewSet для каждого изменения нужно делать отдельный запрос POST/PUT/PATCH, но хотелось бы минимизировать кол-во запросов
сериализованный массив в одном поле у пользователя
[{"id": int, "name": str, "link": str}...] ? И дальше по ИДшникам смотреть, есть ли они в системе, да? Если есть, то обновлять сущность, если нет, то добавлять?
ты собрался в ручную контролить idшки в связующей таблице?
Вот этот момент меня и смущает, поэтому хочу пососветоваться, как лучше)
а как сейчас организована связь между юзером и его соц сетями?
SocNetworkLink(Model): user = ForeignKey('User') name = CharField() link = CharField() Есть обычный DRF ModelSerializer и ModelViewSet для SocNetworkLink, без какиех либо доп настроек
делай то что выше сказано, создай новый эндпоинт принимающий такое (user_id required) [{"user_id": 1, "social": [ {"link": " bla bla", "name": "blabla"}]}] в нем делай, что-то типо SocNetworkLink.objects.filter(user_id=user_id).delete() SocNetworkLink.objects.bulk_create([SocNetworkLink.objects.create(user) for user in data])
Ой, я наверное самое важное забыл упомянуть 🙈 У меня есть другая модель, которая использует SocNetworkLink в качестве ForeignKey Тогда сначала сделать фильтр по этой модели и затем заменить id-шники?
ну суть ты понял, а как будет конкретно смотри сам
Ага, спасибо за детальность)
Обсуждают сегодня