在基于 Class 的 ListView 中按用户 id 过滤 django
django filtering by user id in Class based ListView
我有一个基于 class 的 ListView,我想通过登录的 user_id 过滤其中的对象,因为项目模型有一个指向 settings.AUTH_USER_MODEL[=13= 的外键]
class ItemListView(LoginRequiredMixin, StaffRequiredMixin, ListView):
model = Item
template_name = "items/list_items.html"
在基于函数的视图中,我可以使用 request.user 执行此操作,但不能在基于通用 Class 的视图中执行此操作。关于如何最好地做到这一点有什么想法吗?
这是物品模型
class Item(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
description = models.CharField(max_length=300)
您可以重写 ListView 中的 get_queryset 函数并过滤 self.request.user
def get_queryset(self):
return Item.objects.filter(user=self.request.user)
我有一个基于 class 的 ListView,我想通过登录的 user_id 过滤其中的对象,因为项目模型有一个指向 settings.AUTH_USER_MODEL[=13= 的外键]
class ItemListView(LoginRequiredMixin, StaffRequiredMixin, ListView):
model = Item
template_name = "items/list_items.html"
在基于函数的视图中,我可以使用 request.user 执行此操作,但不能在基于通用 Class 的视图中执行此操作。关于如何最好地做到这一点有什么想法吗?
这是物品模型
class Item(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
description = models.CharField(max_length=300)
您可以重写 ListView 中的 get_queryset 函数并过滤 self.request.user
def get_queryset(self):
return Item.objects.filter(user=self.request.user)