私は、django-rulesのヘルプを探している新しいdjangoユーザーです。私は'OR'ベースの認証システムを設定しようとしています。私は 'ファイル'モデルを持っています。私は作成者だけがそれを削除できるようにしたいが、それを編集するための特定のユーザーセットが必要です。私はチュートリアルと実装を続けてきました。それはシェルでは動作しますが、私のサイトでは動作しません。現時点では、誰も何も削除または更新できません。私の見解は、現在のように見えるdjango-rulesの認証を実装することができません
:
class FileUpdateView(PermissionRequiredMixin, generics.RetrieveUpdateAPIView):
"""
View updating details of a bill
"""
queryset = File.objects.all()
serializer_class = FileSerializer
permission_required = 'fileupload.change_file'
raise_exception = True
class FileDeleteView(PermissionRequiredMixin, generics.RetrieveDestroyAPIView):
"""
View for deleting a bill
"""
queryset = File.objects.all()
serializer_class = FileSerializer
permission_required = 'fileupload.delete_file'
raise_exception = True
ルール自体は、次のとおりです。私はただ一歩を欠けているように私は感じる近いよ
import rules
@rules.predicate
def is_creator(user, file):
"""Checks if user is file's creator"""
return file.owner == user
is_editor = rules.is_group_member('ReadAndWrite')
rules.add_perm('fileupload.change_file', is_editor | is_creator)
rules.add_perm('fileupload.delete_file', is_creator)
知っています。
ありがとうございます!