Django 数据库查询

问题描述 投票:0回答:1

我在这里遇到一个问题,我想澄清一下,看,我正在制作一个进行数据分析的程序。 我想查询来自不同用户的数据,顺便说一下,数据是数字的,每当我从用户那里获得主题标记时,我希望系统返回具有这些标记的用户的名称。 一切都工作正常,直到我尝试查询具有相同标记的用户,而我所能得到的只是一个错误

analyzer.models.ResultsALevel.MultipleObjectsReturned: get() returned more than one 
ResultsALevel -- it returned 4!

因此,我试图找到一种方法来仍然查询并返回具有该主题标记的用户的姓名,即使他们具有相同的标记。 我相信这应该是可能的,因为用户有不同的 ID 和东西,我们将不胜感激!

这是我的观点.py

biology_marks = []
    for student in ResultsALevel.objects.all():
        biology_marks.append(student.advanced_biology_1)
    value_1_biology = 
ResultsALevel.objects.get(advanced_biology_1=biology_marks[-1]).student_name.last_name
    value_2_biology = 
ResultsALevel.objects.get(advanced_biology_1=biology_marks[-2]).student_name.last_name
    value_3_biology = 
ResultsALevel.objects.get(advanced_biology_1=biology_marks[-3]).student_name.last_name
    value_4_biology = 
ResultsALevel.objects.get(advanced_biology_1=biology_marks[-4]).student_name.last_name
python django database
1个回答
1
投票

ObjectManager.get()
用于检索单个实例,通常由主键字段选择。

在存在多个与查询匹配的数据的字段上使用

ObjectManager.get()
,会返回错误(MultipeObjectsReturned)

请使用

ObjectManager.filter()
来代替。

© www.soinside.com 2019 - 2024. All rights reserved.