2013-12-18 3 views
2

Немного фона: Я создаю дискуссионное приложение, предназначенное для педагогов. Это, по сути, дискуссионная доска в стиле reddit, где ответы на подсказку «опрошены» или «проголосованы». Создатели контента анонимны для всех, кроме пользователя admin/teacher.Использует ли django auth Group правильный способ решить эту проблему?

Пока это работает для одного «класса»; то есть может быть один или несколько администраторов, один или несколько студентов, но пока существует только один «класс». Все ученики будут видеть те же темы обсуждения.

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

Похоже, что рефакторинг моделей слегка, чтобы иметь внешний ключ до , должен сделать это возможным, но я не уверен, что это то, что предназначено для создания Group. Сначала краснеть Group и связанный с ним Permission выглядят намного более похожими на метафору групп Unix. То, что я ищу, - это способ, чтобы учитель-пользователь создавал группу и чтобы ученик-пользователь присоединился к этой группе и просмотрел и создал контент для конкретной группы.

Я направляюсь в правильном направлении? Есть ли лучший способ сделать то, что я пытаюсь сделать?

+0

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

ответ

0

Вы можете сделать много-ко-многим между пользователями, группами и классами (дополнительная моделью, которая будет указывать на эти три моделей, давая группу для пользователя в указанном классе)

Смежные вопросы