我正在努力了解如何格式化视图中的查询-特别是对于当前登录的用户。我想显示所有user_added值与当前登录的用户ID匹配的书籍。
models.py
class books(models.Model):
user_added = models.ForeignKey(User, default='1', on_delete=models.CASCADE)
title = models.CharField(max_length=100)
我正在使用Django的用户模型和功能
forms.py
class books_list(forms.ModelForm):
class Meta:
model = books
fields = ['user_added', 'title']
views.py
class booksListView(ListView):
def get_queryset(self):
# id = ?
您可以用user_added
过滤self.request.user
:
from django.contrib.auth.mixins import LoginRequiredMixin
class booksListView(LoginRequiredMixin, ListView):
def get_queryset(self):
return books.objects.filter(user_added=self.request.user)
Note:您可以将视图限制为基于类的视图,以供通过身份验证的用户使用
LoginRequiredMixin
mixin [Django-doc]。