在Django-Organizations中按组织过滤OrganizationUser's

时间:2018-12-13 03:15:53

标签: django python-3.x django-queryset modeling django-organizations

关于此主题有一个相对类似的主题,但是我似乎无法弄清楚如何将其转化为我的情况。我有一个名册,只需要显示查看器的同一组织内的组织用户。我有一个正在开发的Webapp,用于管理组织中的志愿者。我仍然对后端开发还不熟悉,所以在解决问题时遇到了麻烦。

这是使用Django_Tables2包的表视图的代码:

#tables.py
class VolunteerTable(tables.Table):
    class Meta:
        model = OrganizationUser

# views.py
def VolunteerRoster(request):
    table = tables.VolunteerTable(OrganizationUser.objects.all())
    return render(request, 'staff/roster.html', {'table': table})
I'm trying to figure out how to either convert the view to a class-based view so I can use the OrganizationMixin and the SingleTableView in Django_Tables2's documentation.

根据其他主题的解释,我正在考虑类似的事情

class VolunteerRoster(SingleTableView, OrganizationMixin):
    table_class = VolunteerTable
    queryset = OrganizationUser.objects.all()
    template_name = "staff_roster.html"

    def get_queryset(self):
        return self.queryset.filter(organization=self.get_organization())

当我尝试这样做时,我得到:“ TypeError:init()接受1个位置参数,但给出了2个位置参数”

正如我所说,我还是django的新手,所以我不确定在这种情况下要解决的问题。

1 个答案:

答案 0 :(得分:-1)

尝试:

def get_queryset(self):
    return OrganizationUser.objects.filter(organization=self.request.user.organization)