Расширение структуры комментариев Django пользователями Django и пользовательским профилем - PullRequest
0 голосов
/ 25 марта 2012

Я использую Django v1.4.

Я посмотрел на исходный код django.contrib.django.comments и заметил, что класс Comment имеет необязательное поле user, которое является внешним ключом для User Джанго. Я также расширил User своим собственным UserProfile с полем user_type (используя официальный рекомендованный подход 1011 *).

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

  1. Комментировать могут только зарегистрированные пользователи. Поэтому Comment.user должен быть обязательным.
  2. Только определенные user_type могут оставлять комментарии.

Я знаю, что, вероятно, мне нужно создать свой собственный класс и наследовать Comment, но у меня есть несколько вопросов по дизайну:

  1. Должен ли я оставить все необязательные поля Comment (user_name, user_email, user_url и т. Д.) Нетронутыми? И если да, я должен добавить их с информацией из User? Я чувствую, если я добавлю их, то это нарушает нормализацию данных.
  2. Как ограничить комментарии только определенными UserProfle.user_type? Я понимаю, что комментарии загружаются в шаблоны, так как мне контролировать, если в шаблоне есть блоки if - then? Это, кажется, нарушает дизайн модели MVC (я чувствую, что ограничение разрешений должно идти в views.py.

Будем весьма благодарны за любые советы, предложения и рекомендации. Заранее спасибо! До сих пор я использовал документацию Django о настройке структуры комментариев в качестве примеров.

...