【发布时间】:2021-05-31 21:36:43
【问题描述】:
我正在建立一个博客,并试图让用户能够查看单个作者的帖子。到目前为止,我已经尝试了不同的过滤器来返回一个有效的视图。这是我得到的最接近的(我认为),但该站点返回为空。有谁知道我错过了什么?
我的models.py
class Author(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
username = user.name
first_name = models.CharField(max_length=200)
last_name = models.CharField(max_length=200)
def get_absolute_url(self):
return reverse("author", args=[str(self.id)])
def __str__(self):
return self.user.username
class Post(models.Model):
author = models.ForeignKey(Author, related_name="user_name",on_delete=models.CASCADE)
title = models.CharField(max_length=250)
text = models.TextField()
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateField(blank=True,null=True)
我的view.py
class PostListAuthor(ListView):
model = Post, Author
paginate_by = 5
context_object_name = 'author_posts'
template_name="blog/post_author_list.html"
def get_queryset(self):
return Post.objects.filter(author = Author.username, published_date__lte=timezone.now()).order_by("-published_date")
我的 urls.py 有这个:
path("author/<str:pk>",views.PostListAuthor.as_view(),name="author"),
【问题讨论】: