我正在创建一个网站,用户可以创建一个项目。每个项目有10个宏观问题。每个宏观问题都有子问题
我正试图找到一个宏观问题的答案
projects_id
包含数据库中的所有项目
projects = Project.objects.all()
projects_id = []
for project in projects:
projects_id.append(project.id)
所以我做了一个for循环:
for project_id in projects_id:
seventh_question_project = Seventhquestion.objects.all().filter(project=project_id).first()
answer_seventh_five = seventh_question_project.seventh_five
if answer_seventh_five == "No":
unaudited_projects.append(answer_seventh_five)
else:
audited_projects.append(answer_seventh_five)
如果使用控制台,我可以检索answer_seventh_five
:
但是,如果加载页面,我会得到:
'NoneType' object has no attribute 'seventh_five'
我无法解释,因为answer_seventh_five
存在(因为我通过控制台检索它来测试它)
可能原因是我正在筛选,而不是使用get
获取对象
我试过:
seventh_question_project = Seventhquestion.objects.get(project=project_id)
但我得到:
Seventhquestion matching query does not exist.
但是:seventh_question_project = Seventhquestion.objects.all()
起作用
不要通过身份证。这不是Django ORM的用途。只需循环浏览项目本身:
但是对于关系,获取相关对象的方法要简单得多。因此假设
project
字段是Seventhquestion
模型上的OneToOneField
,则反向关系是seventhquestion
:这个怎么样
相关问题 更多 >
编程相关推荐