我有一个基于类的ListView,我想通过登录的user_id来过滤对象,因为Item模型有一个设置的外键。AUTH_USER_MODEL
class ItemListView(LoginRequiredMixin, StaffRequiredMixin, ListView):
model = Item
template_name = "items/list_items.html"
在基于函数的视图中,我可以使用request.user来实现这一点,但在基于类的通用视图中则不行。有什么好主意吗?
下面是Item模型
class Item(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL)
description = models.CharField(max_length=300)
2条答案
按热度按时间xam8gpfp1#
您可以覆盖ListView中的get_queryset函数,并在self.request.user上进行过滤
epggiuax2#
您可以减少冗余代码,因为您已经在基于类的视图中定义了模型字段: