当前位置: 代码迷 >> 综合 >> callable attribute “preferential_name“; original exception was: ‘QuerySet‘ object has no attribute
  详细解决方案

callable attribute “preferential_name“; original exception was: ‘QuerySet‘ object has no attribute

热度:54   发布时间:2023-11-23 18:59:04.0

0. 报错信息

ValueError: Exception raised in callable attribute "preferential_name"; original exception was: 'QuerySet' object has no attribute 'discount'

 1. 错误描述

a. 在使用orm时,返回的结构是QuerySet的类型,还是一个空,然后接着用了句点符操作,然后报错

2. 错误原因

a. QuerySet是一个对象集合,不支持句点符操作,在orm里面,单条对象,才支持句点符取值

3. 解决办法

a. 拿到QuerySet的类型时,想群取值,用values/values_list进行取值,前者[{},{}],后者[(),()]

b. 如果是反向查询,多对一的情况下,报这个错,不是这个原因。因为多对一取值,本身取的就是一个单对象,可以句点符操作,报错原因是你的QuerySet,是一个空,空取值报的错

  相关解决方案