如何获取与 Django 中的用户关联的所有相关对象?

bra*_*orm 1 django django-models django-views django-users

我正在写Django application一个用户可以保存“搜索”的地方。

class Searches(models.Model):
        user = models.ForeignKey(User)
        ....

       def get_searches(self):
           try:
                search_list=Searches.objects.get(user)
           except:
                 return []
           else:
               return search_list.
Run Code Online (Sandbox Code Playgroud)

因此,当用户登录时,在我看来,

@login_required
def display_search_list(request):
     user=request.user
     search_list=user.get_searches()
     return render(request,"display.html",{'obj_list':search_list})
Run Code Online (Sandbox Code Playgroud)

我的问题是关于get_searches(self) method我上面定义的。我如何通过“当前登录的用户”来获取search_list. 我感兴趣的是user.get_searches()应该返回所有saved searchesUser。如何让它发挥作用?

谢谢

Bib*_*ath 5

User您在 中拥有模型的外键Searches因此,您已经拥有从任何用户对象到此模型中与该用户相关的所有搜索的反向引用。对于已登录的用户,您可以调用request.user.searches_set.all(),它将返回已登录用户的所有已保存搜索。不知道你为什么写这个方法。在文档中阅读更多内容。