(Ahora que Django 1.1 está en estado de candidato de lanzamiento, podría ser un buen momento para preguntar esto)Comentarios autenticados en Django 1.1?
He estado buscando en todas partes formas de ampliar la aplicación de comentarios de Django para admitir comentarios autenticados. Después de leer algunas veces el modelo de comentarios, descubrí que ya existe un ForeignKey
a User
.
De 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)
Parece que no puedo conseguir mi cabeza alrededor de la configuración user
. Si uso los comentarios como están, incluso si estoy autenticado, todavía parece requerir los otros campos. ¿Supongo que debería anular el formulario y hacerlo allí? Además de eso, si uso user
, debería ignorar el hecho de que user_name
, user_email
y user_url
estarán vacíos y simplemente extraerá esa información de un modelo de perfil relacionado, ¿correcto?
Si bien las respuestas pueden ser bastante triviales al final, estoy sorprendido de que no se haya escrito o incluso se haya hablado.
Inicialmente elevé esta respuesta, pero después de trabajar con la solución de Theju por un tiempo, la encontré limitada. Ahora prefiero simplemente crear el formulario manualmente, pegándome en todos los campos que Django espera (por debajo). – shacker