相关字段查找无效:用户
发布于2022-05-08 04:59
阅读(1040)
评论(0)
点赞(25)
收藏(5)
我正在构建一个 BlogApp,但我遇到了一个错误。
我正在尝试做的事情:-
我正在exclude
尝试followers
来自BlogPost Page
.
我正在使用exclude
排除用户的方法。
当我转到浏览器时,它会一直显示:-
相关字段查找无效:用户
模型.py
class Post(models.Model):
post_owner = models.ForeignKey(User,default='',null=True,on_delete = models.CASCADE)
post_title = models.CharField(max_length=500,default='' )
视图.py
def posts(request,user_id):
followed_users= request.user.profile.followers.all()
posts = Post.objects.filter(date_added__lte=now).exclude(post_owner__user=followed_users)
context = {'posts':posts}
return render(request, 'blogpost.html', context)
我不知道我做错了什么。
任何帮助,将不胜感激。
解决方案
无需使用post_owner__user
查找,因为post_owner
已经是建模的别名User
。此外,您不能在此处按相等进行过滤,因为在表达式的右侧您没有单个实例User
,而是一个查询集。试试这个:
followed_users= request.user.profile.followers.all()
followed_users = list(followed_users.values_list('id', flat=True))
posts = Post.objects.filter(date_added__lte=now).exclude(post_owner_id__in=followed_users)
第一行将仅返回User
您可以在 exclude 和in表达式中使用的 ID 字段值。
站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群
欢迎关注我的公众号:程序员总部,关注公众号回复python,免费领取 全套python视频教程,关注公众号回复充值+你的账号,免费为您充值1000积分
所属网站分类:
技术文章 >
问答