2012-05-02 9 views
0

auth_user_user_permissions(manyTomany)でauth_user(プライマリテーブル)に参加することによって、すべてのpermission_idを一覧表示しようとしています。私はdjango ormの多対多リレーションシップテーブルからデータを取り出す方法

ソートPER =(リスト内の項目のために(item.permission_id)(User.objects.filter(user_permissions__user = 2)))

次試してみました 'ユーザー' オブジェクトがpermission_id」は属性を持っていないと言っています。

答えて

0

User.objects.filter(...)がユーザーのためのクエリセットを取得します私を導いてください。従って項目は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')] 

参考文献the doc

0

権限IDが必要な場合は、権限テーブルを直接照会することをお勧めします。

permission_ids = Permission.objects.filter(user=2).values_list('id', flat=True) 
関連する問題