我有一个基于类的 ListView,我想通过登录的 user_id 过滤对象,因为项目模型有一个指向 settings.AUTH_USER_MODEL 的外键
class ItemListView(LoginRequiredMixin, StaffRequiredMixin, ListView):
model = Item
template_name = "items/list_items.html"
在基于函数的 View 中,我可以使用 request.user 但不能在基于通用类的 View 中执行此操作。关于如何最好地做到这一点的任何想法?
这是项目模型
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)
关于django 在基于类的 ListView 中按用户 id 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38471260/