Django — как пользователи могут создавать группы и добавлять других пользователей для просмотра контента, предоставляемого этой группой (например, на facebook)

#python #python-3.x #django #django-models #django-rest-framework

#python #python-3.x #django #django-модели #django-rest-framework

Вопрос:

Я создаю веб-сайт с помощью Django, и я хочу, чтобы мои пользователи могли создавать там собственные группы (например, на Facebook) и разрешать другим участникам просматривать контент только в этой группе. вы можете дать мне общее представление о том, как я могу это кодировать.

Ответ №1:

Это очень общий вопрос, поэтому ожидайте очень общего ответа. Но из вашего вопроса я понял, что вы ищете, как спроектировать модели (базу данных).

Что я бы сделал, так это создал отношение «один ко многим» между таблицей «пользователи» и «группа», затем еще одно отношение «один ко многим» к некоторым таблицам «содержимое» и «группа».

Я знаю, что изображения часто довольно плохо воспринимаются здесь, но я не знаю никакого другого способа поделиться этим, поэтому вот одна из возможных схем, которую я придумал.

Модель

Я бы лично добавил больше полей в эти таблицы, но это дает общее представление о том, что, по моему мнению, вам нужно.

После этого вам решать, как пользователи взаимодействуют с базой данных. Одна из реализаций может заключаться в том, что пользователи по умолчанию делают контент общедоступным, но могут решить поделиться им только с одной или несколькими определенными группами, в которых они находятся.

Надеюсь, это поможет вам с чего-то начать.