2011-02-28 120 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應該從給用戶的消息。)