0
特定の権限に関連するクエリセットに追加のフィールドを追加したいのですが、CASE内で "has_perm"を使用することは可能ですか?DjangoのCASEクエリーセット内で "has_perm"を使用することは可能ですか?
var_group = Group.objects.all().annotate(mypermission=Case(
When(self.has_perm('app.mypermission'), then=Value(True)),
default=Value(False),
output_field=BooleanField(),
))
エラーは次のとおりです。
グローバル名 '自己' の
これは良い考えです。私は、グループに "has_perm"というメソッドがないことに気がつきました。これはUser ** 'Group'オブジェクトにのみ関連しています。 'has_perm' **属性はありません。グループにその方法を使用する考えはありますか? – Steve
ああ、あなたはDjango Groupのモデルhttps://docs.djangoproject.com/es/1.9/ref/contrib/auth/#group-modelを使いました。 'has_perm'メソッドはありません。私は答えを更新します。 –
2番目のオプションは完璧です:ちょうど(codename = 'app.permission')が動作せず、私は(codename = 'permission')使用しました – Steve