0

我正在尝试通过将 auth_user (主表)与 auth_user_user_permissions(manyTomany ) 加入来列出所有 permission_id 。我试过以下

PER = sorted((item.permission_id) for item in list(User.objects.filter(user_permissions__user=2)))

它是说'用户'对象没有属性'permission_id。

请指导我

4

2 回答 2

0

User.objects.filter(...)获取用户的查询集。因此 item 是一个User()实例。要访问该项目的权限,请直接item.user_permissions.all(). 因此在你的情况下

User(pk=2).user_permissions.values_list('pk', flat=True).order_by('pk')
# or
[x.pk for x in Permission.objects.filter(user=2).order_by('pk')]

参考文档以获取更多信息。

于 2012-05-02T03:59:38.140 回答
0

如果您想要权限 ID,您需要直接查询权限表。

permission_ids = Permission.objects.filter(user=2).values_list('id', flat=True)
于 2012-05-02T04:00:09.107 回答