Расширение структуры комментариев Django с пользователями Django и пользовательским профилем пользователя

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

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

Я хочу разместить комментарии для каждого рабочего задания, но разрешить только определенные 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 о настройке инфраструктуры комментариев в качестве примеров.

0 ответов

Другие вопросы по тегам