本站消息

站长简介/公众号


站长简介:高级工程师,爱好交友,无偿辅导python和前端,技术交流,面试指导,找工作指导,瞎聊都可加我微信i88811i哈,欢迎欢迎!也欢迎加入程序员交流群,专属程序员的圈子,加我微信拉你进群.欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

相关字段查找无效:用户

发布于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积分







所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1490517/0ef0a0c51141480e4faa/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

25 0
收藏该文
已收藏

评论内容:(最多支持255个字符)