(Теперь, когда Django 1.1 находится в статусе кандидата на выпуск, самое время спросить об этом.)
Я искал повсюду способы расширения приложения комментариев Django для поддержки аутентифицированных комментариев. Прочитав модель комментариев несколько раз, я обнаружил, что ForeignKey
до User
уже существует.
С django.contrib.comments.models
:
class Comment(BaseCommentAbstractModel):
"""
A user comment about some object.
"""
# Who posted this comment? If ``user`` is set then it was an authenticated
# user; otherwise at least user_name should have been set and the comment
# was posted by a non-authenticated user.
user = models.ForeignKey(User, verbose_name=_('user'),
blank=True, null=True, related_name="%(class)s_comments")
user_name = models.CharField(_("user's name"), max_length=50, blank=True)
user_email = models.EmailField(_("user's email address"), blank=True)
user_url = models.URLField(_("user's URL"), blank=True)
Кажется, я не могу разобраться с настройкой user
. Если я использую комментарии как есть, даже если я аутентифицирован, все равно, кажется, требуются другие поля. Я предполагаю, что я должен переопределить форму и сделать это там? Кроме того, если я использую user
, я должен игнорировать тот факт, что user_name
, user_email
и user_url
будут пустыми, и просто извлекать эту информацию из связанной модели профиля, правильно?
Хотя ответы могут быть довольно тривиальными в конце концов, я просто удивлен, что они не были написаны или даже не обсуждались.