首页 > 解决方案 > 从获取 TypeError 的查询集中获取值:“方法”对象不可下标

问题描述

我知道这是一个非常简单的问题,但我TypeError: 'method' object is not subscriptable正在尝试我正在尝试的一切。我需要ratingsitem. 我如何得到它

>>> for item in order_items:
...     if item.reviewed_items.exists():
...             print( item.reviewed_items.values())
... 
<QuerySet [{'
id': 1, 
'review_from_id': 5, 
'review_for_id': 1,
'ratings': '8'}]>
>>> 

标签: djangopython-3.x

解决方案


尝试 听写理解

for item in order_items:
    if item.reviewed_items.exists():
        print({data['id']: data['ratings'] for data in list(item.reviewed_items.values())})


更新
使用values_list()方法,

for item in order_items:
    if item.reviewed_items.exists():
        print(item.reviewed_items.values_list('ratings', flat=True))

推荐阅读