2011-02-28 122 views
0

我刚读http://docs.djangoproject.com/en/dev/topics/auth/?from=olddocs(使用Django 1.2)& http://www.b-list.org/weblog/2006/jun/06/django-tips-extending-user-model/Django的私人信息用于身份验证的用户

我试图创建为我的用户的收件箱在那里他们可以从其他用户或潜在的非收到私信用户通过网站上的表单。我的问题是,安全地存储这些消息的最佳方式是什么?

我是否应该扩展UserProfile(如b列表中所示)&将ForeignKey包括到'Messages'模型中?如果是这样,我将如何禁用对消息的访问,除非它通过UserProfile(我知道我可以在视图中执行此操作,但是我可以关闭一个模型以仅通过UserProfile工作)?或者任何其他想法,非常感谢!

亚当

回答

2

用户配置 - >消息没有太大的意义,它应该是信息 - >用户

你应该看看http://code.google.com/p/django-messages/的具体实现(虽然看起来它一直没有稍后更新)。

比如有他们:

class Message(models.Model): 
    """ 
    A private message from user to user 
    """ 
    sender = models.ForeignKey(User, related_name='sent_messages', verbose_name=_("Sender")) 
    recipient = models.ForeignKey(User, related_name='received_messages', null=True, blank=True, verbose_name=_("Recipient")) 
+0

对不起,早在这里 - 当然,留言 - >用户!但Django的消息,这是完美的! &可能会从代码中学到些东西,非常感谢:) – null 2011-02-28 12:37:38

0

我不知道为什么你认为你需要做任何事情。用户无权在系统上运行随机代码,因此他们无法访问其他用户的消息,除非您专门为他们提供了一种方法。

(和贝雷斯是正确的,因为FK应该从给用户的消息。)