2010-03-30 62 views
2

我使用的是Django評論框架,當我列出評論時,我想包含一些存儲在auth_user中的信息。但是,我發現我需要每個評論的額外查詢來獲取用戶信息。我如何獲得django評論加入auth_user

我嘗試使用select_related()當我拉的評論,但這沒有幫助。

是否有一個原因,它沒有加入auth_user表,有什麼辦法強制它?

回答

0

這裏是從原來的Django評論模型剪斷:

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) 

所以你可以用comment.user,讓您的用戶和/或user.users_comments,獲取用戶的所有評論:-)

+0

假設我想要comment.user.is_staff。當我請求時,它將需要另一個數據庫查詢來獲取該信息。如果一個用戶在頁面上有10條評論,它將執行10次相同的auth_user查詢。這就是我想要阻止的。 – AlexH 2010-04-03 12:16:08

0

你可以讓所有在您的網頁上有評論的用戶將其轉儲到字典中。在循環評論時,您可以從字典中提取用戶數據。