Django规则替换guardian.mixins.PermissionListMixin



在我的基于django的应用程序中,我想让用户能够跟踪他们的位置。每个位置都有一个所有者,列表视图应该只显示当前用户拥有的位置。

有了django-guardian,我能够通过在我的视图中指定以下内容来实现同样的目的。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规则创建类似的东西?

您需要共享位置模型,这样我们才能正确地建议您,在这两种情况下,您都需要在listview变量中或通过重写get-queryset方法指定queryset。。

我建议您使用以下代码行,假设位置模型具有来自Auth-User模型的外键,其中每个位置都分配给其所有者。。

def get queryset(self):
qs = Location.objects.filter(user=self.request.user)
return qs

最新更新