从查询集中获取值,获取TypeError:“方法”对象不可下标

时间:2018-09-02 15:49:11

标签: django python-3.x

我知道这是一个非常简单的问题,但是我尝试的所有事情都达到了TypeError: 'method' object is not subscriptable。我需要为ratings获取item。我如何获得

>>> 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'}]>
>>> 

1 个答案:

答案 0 :(得分:1)

尝试dict comprehension

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))