当前位置: 首页 > 知识库问答 >
问题:

Django 'Query '对象没有属性' contains_column_references '

燕宏胜
2023-03-14

我是Django的新手,我在如何配置此错误方面遇到了麻烦,这就是为什么我决定发布一些代码问题的原因,我希望你们能帮助我解决这个问题。我错过了代码还是做错了?请忍受我。谢谢。

错误“Query”对象没有属性“contains_column_references”

追踪:

追踪:

内部34.response=get_response(request)中的文件“/home/lib/python3.6/site-packages/django/core/handlers/exception.py”

文件“/home/lib/python 3.6/site-packages/django/core/handlers/base . py”in _ get _ response 115。response = self . process _ exception _ by _ middleware(e,请求)

_get_response 113中的文件“/home/lib/python3.6/site-packages/django/core/handlers/base.py”。响应=wrapped_callback(请求,*callback_args,**callback_kwargs)

updateperiod 2289.V_insert_data.save()中的文件“/home/unidaweb/unidaproject/Homepage/views.py”

文件“/首页/库/python3.6/站点包/django/db/模型/基地.py”在保存741中。force_update=force_update,update_fields=update_fields)

save_base 779.force_update中的文件“/home/lib/python3.6/site-packages/django/db/models/base.py”,using,update_fields,

文件“/首页/库/python3.6/站点包/django/db/model/base.py”,_save_table 870。结果 = self._do_insert(cls._base_manager、使用、字段、update_pk、原始)

文件"/home/lib/python3.6/site-包/django/db/模型/base.py"在_do_insert908。

manager_method 82中的文件“/home/lib/python 3.6/site-packages/django/db/models/manager . py”。return getattr(self . get _ query set(),name)(*args,**kwargs)

文件“/home/lib/python 3.6/site-packages/django/db/models/query . py”in _ insert 1186。返回query.get_compiler(using=using)。执行sql(返回标识)

execute_sql 1334中的文件“/home/lib/python3.6/site-packages/django/db/models/sql/compiler.py”。对于sql,self.as_sql()中的参数:

as_sql 1278.self.query.objs中obj的文件“/home/lib/python3.6/site-packages/django/db/models/sql/compiler.py”

文件“/首页/库/python3.6/site-packages/django/db/models/sql/编译器.py” in 1278.for obj in self.query.objs

文件"/home/lib/python3.6/site-pack/django/db/model/sql/compiler.py"在1277.[self.prepare_value(field,self.pre_save_val(field, obj))用于字段中的字段]

prepare_value 1208中的文件“/home/lib/python 3.6/site-packages/django/db/models/SQL/compiler . py”。如果值包含列引用:

异常类型:AttributeError at/updateperiod/Exception Value:“Query”对象没有属性“contains_column_references”

这是我的观点. py

id = request.POST.get('id')

if StudentPeriodSummary.objects.filter(id = id).exists():
    grade = request.POST.get('average')
    update = StudentPeriodSummary.objects.get(id = id)
    update.average = grade
    update.save()
    return render(request, 'Homepage/pending.html')
else:
    myperiod = request.POST.get('period')
    period = gradingPeriod(id=myperiod)
    sectionandgrade = request.POST.get('subjectsection')
    gradesSection = SubjectSectionTeacher.objects.filter(id=sectionandgrade).values('Sections')
    getsection = Section(id=gradesSection)
    gradeslevel = SubjectSectionTeacher.objects.filter(id=sectionandgrade).values('Education_Levels')
    grade = EducationLevel(id=gradeslevel)
    teacher_id = request.POST.get('teacher')

    teacher = EmployeeUser(id=teacher_id)
    averages = []
    for average in request.POST.getlist('average'):
        averages.append(average)
    for m, student in enumerate(request.POST.getlist('studentname')):
        students = StudentSubjectGrade(id=student)
        V_insert_data = StudentPeriodSummary(
            teacher=teacher,
            students_Enrollment_Records=students,
            gradeLevel=grade,
            average=averages[m],
            grading_Period=period,
            sections=getsection,
        )
        V_insert_data.save()
        m += 1

    return render(request, 'Homepage/pending.html')

我的模型.py

class StudentPeriodSummary(models.Model):
    teacher = models.ForeignKey(EmployeeUser, null=True, blank=True)
    students_Enrollment_Records = models.ForeignKey(StudentSubjectGrade, on_delete=models.CASCADE, null=True)
    gradeLevel = models.ForeignKey(EducationLevel,null=True, blank=True)
    sections = models.ForeignKey(Section, null=True)

    grading_Period = models.ForeignKey(gradingPeriod, null=True, blank=True)
    average = models.FloatField(null=True, blank=True)
    def __str__(self):
        suser = '{0.Students_Enrollment_Records}'
        return suser.format(self)

更新

当我试图注释掉views.py中的< code>#GradeLevel=grade,和< code>#Sections=getsection,时(插入数据)。它工作了。似乎是从那一行开始导致了错误,我应该做些什么来修复它?这是正确的吗?

    gradesSection = SubjectSectionTeacher.objects.filter(id=sectionandgrade).values('Sections')
    getsection = Section(id=gradesSection)
    gradeslevel = SubjectSectionTeacher.objects.filter(id=sectionandgrade).values('Education_Levels')
    grade = EducationLevel(id=gradeslevel)

共有1个答案

杜浩壤
2023-03-14

尝试替换:

teacher = EmployeeUser(id=teacher_id)

teacher = get_object_or_404(EmployeeUser, id=teacher_id)

同样的事情

getsection = Section(id=gradesSection)

“常用”用户“”部分“是对象,需要使用 get筛选器来获取对象。

另外:

gradesSection = SubjectSectionTeacher.objects.filter(id=sectionandgrade).values('Sections')
getsection = Section(id=gradesSection)

在这里,第一行,您使用values来获取。这不是单个值。因此,您无法将其传递给id=gradesSection

 类似资料:
  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 问题内容: 我将Selenium webdriver(chrome)与Python结合使用,试图从网页上的所有链接中获取 href 。当我尝试以下操作时: 它设法获取所有链接,但是在get_attribute上出现错误: “ WebElement”对象没有属性“ Get_Attribute” 尽管到处都看起来很正常。 问题答案: “ Get_Attribute”属性不存在,但是“ get_attr

  • 问题内容: 我创建了这个简单的GUI: 我启动并运行了UI。当我单击Grab按钮时,在控制台上出现以下错误: 为什么entryBox设置为None? 问题答案: 并且place在功能Entry对象和所有其他部件的回报None。在python中,执行此操作时.,表达式的结果为返回的值,因此。 你应该将其分成两行,如下所示: 这样,你就可以将参考存储在其中,并且可以按照你的期望进行布局。如果你以块的形

  • 问题内容: 它显示了运行时错误: 我只是python的初学者,即使在网上搜索后也无法纠正此问题。 问题答案: 错误: 表示您正在尝试将索引运算符应用于int而不是列表。所以即使在应该的时候也没有清单吗?让我们从那开始。 看这里: 在内部使用其他变量名称,看起来列表理解会在迭代过程中覆盖该变量。(不是在设置时 进行 迭代,而是在以下过程中进行。)

  • 问题内容: 我在这里遇到一些问题,在我的python包中,我已经安装了numpy,但是我仍然 遇到 此错误 ‘DataFrame’对象没有属性’sort’ 任何人都可以给我一些想法。 这是我的代码: 问题答案: 不推荐使用DataFrames,而采用以下两种方法之一: 到 由列排序(S) 要 通过索引排序 在Pandas中已弃用(但仍可用)版本0.17(2015-10-09),并引入和。它已从0.

  • 如果pk_col值为空,则应打印未定义的主键。但我得到了这个错误。“NoneType”对象没有属性“rdd”。