首页 > 解决方案 > 使用通用列表视图从用户模型中获取用户的成员资格列表

问题描述

我想创建一个视图,显示特定 CustomUser 的成员资格列表。我的视图仅显示登录用户的成员资格列表。我如何使用 generic.listview 实现这一点?

我希望列表通过从 CusomUser 传递 PK 来显示特定用户的所有成员资格,有人可以帮助我吗?

网址

path('<int:pk>/membership/', views.MemberShipIndex.as_view(), name='MemberShipIndex'),

看法

class MemberShipIndex(generic.ListView):
    model = Membership
    template_name = 'members/membership_list.html'
    context_object_name = 'membership_list'

    def get_queryset(self):
        return self.model.objects.filter(CustomUser=self.request.user)

标签: djangodjango-modelsdjango-formsdjango-viewsdjango-templates

解决方案


您可以过滤pk参数:

class MemberShipIndex(generic.ListView):
    model = Membership
    template_name = 'members/membership_list.html'
    context_object_name = 'membership_list'

    def get_queryset(self):
        return self.model.objects.filter(CustomUser_id=self.kwargs['pk'])

注意:通常 Django 模型中的字段名称是用 snake_case 编写的而不是PerlCase,所以它应该是:custom_user而不是CustomUser.


推荐阅读