Python Django:Can';不要查询外域
我还是个新手,所以非常感谢您的帮助。运行Django 1.10 我试图检索分配给特定管理器的所有配置文件,但我的查询集总是为空 Model.py 大宗报价 View.py 大宗报价 我还尝试过过滤单个概要文件条目(带有非外键属性),并打印管理器在数据库中的保存方式和输出如下所示 大宗报价Python Django:Can';不要查询外域,python,django,Python,Django,我还是个新手,所以非常感谢您的帮助。运行Django 1.10 我试图检索分配给特定管理器的所有配置文件,但我的查询集总是为空 Model.py 大宗报价 View.py 大宗报价 我还尝试过过滤单个概要文件条目(带有非外键属性),并打印管理器在数据库中的保存方式和输出如下所示 大宗报价 然而,即使当我尝试使用该输出进行过滤时,我的查询集也是空的 大宗报价 test=Profile.objects.filter(管理器=“”) 我想我需要调整我的过滤器参数,使之与数据库可以匹配,但我不确定
然而,即使当我尝试使用该输出进行过滤时,我的查询集也是空的
大宗报价
test=Profile.objects.filter(管理器=“”)
我想我需要调整我的过滤器参数,使之与数据库可以匹配,但我不确定该格式是什么。我试着浏览了文档,但没有找到我想要的东西 但这只是模型实例的字符串表示。您需要实际的实例
jenn = User.objects.get(username="Jenn")
test = Profile.objects.filter(manager=jenn)
当然,一旦您已经有了jenn
作为实例,to就可以使用fk的反向访问器:
test = jenn.profile_set.all()
如果您没有jenn,也不需要它,您可以在一个查询中完成整个过程:
test = Profile.objects.filter(manager__username="Jenn")
我还尝试过过滤单个概要文件条目(带有非外键属性),并打印管理器在数据库中的保存方式和输出如下所示
这不是管理器保存在数据库中的方式,它只是实例用户的“可读”表示
如果要筛选管理器,可以执行以下操作:
test = Profile.objects.filter(manager__pk= primary_key_of_manager)
或
非常感谢。现在我完全明白我的错误了,我已经习惯于使用字符串表示来输入字符字段。但这解决了我的问题
jenn = User.objects.get(username="Jenn")
test = Profile.objects.filter(manager=jenn)
test = jenn.profile_set.all()
test = Profile.objects.filter(manager__username="Jenn")
test = Profile.objects.filter(manager__pk= primary_key_of_manager)
temp_manager = User.objects.get(...)
test = Profile.objects.filter(manager=temp_manager)