0

私の django ベースのアプリケーションでは、ユーザーが自分の場所を追跡できるようにしたいと考えています。各場所には所有者がいて、リスト ビューには現在のユーザーが所有する場所のみが表示されます。

django-guardianを使用すると、views.py で次のように指定して同じことを達成できました。

from django.views import generic
from guardian.mixins import PermissionRequiredMixin, PermissionListMixin

# Create your views here.
from .models import Location


class LocationListView(PermissionListMixin, generic.ListView):
    model = Location
    permission_required = 'view_location'
    paginate_by = 20
    ordering = ['name']

django-rulesで同様のものを作成するにはどうすればよいですか?

4

1 に答える 1

0

適切にアドバイスできるように、ロケーションモデルを共有する必要があります.

ロケーションモデルに、各ロケーションがその所有者に割り当てられた認証ユーザーモデルからの外部キーがあると仮定して、コード行に従うことをお勧めします..

  def get queryset(self):
    qs = Location.objects.filter(user=self.request.user)
     return qs
于 2021-11-04T20:04:46.713 に答える