我刚读过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/
我正在尝试为我的用户创建一个收件箱,他们可以通过网站上的表单接收来自其他用户或非潜在用户的私人消息。我的问题是,安全存储这些邮件的最佳方法是什么?
我应该扩展UserProfile(如b-list所示)&将ForeignKey包含在“消息”模型中?如果是这样,我将如何禁用对Message的访问,除非它通过UserProfile(我知道我可以在视图中执行此操作,但我可以'关闭'模型只能通过UserProfile工作)吗?或任何其他想法,非常感谢!
亚当
答案 0 :(得分:2)
UserProfile - >消息没有多大意义,它应该是消息 - >用户
你应该看一下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"))
答案 1 :(得分:0)
我不知道为什么你认为你需要做任何事情。用户无权在您的系统上运行随机代码,因此他们无法访问其他用户的消息,除非您专门为他们提供了这样做的方法。
(而且Béres是正确的,FK应该是从消息到用户。)