django 从查询集中获取特定变量

q9yhzks0  于 2023-02-06  发布在  Go
关注(0)|答案(1)|浏览(111)

我尝试获取cd输出的特定部分,但我的代码不起作用。我尝试定义一个新变量,仅使用Queryset输出中的对象"symbols"。

if cmd_exec == '/wanalysis':
            get_Memory = Memory.objects.filter(user=current_user).values() 
            cd = get_Memory.all()  
            X = cd['{id}']
            print(X)

这是print(cd)的输出

<QuerySet [{'id': 183, 'user_id': 1, 'raw_message': '/setworkspace AAPL TSLA MSFT 12/12/2018 12/12/2022', 'date1': '2018-12-12', 'date2': '2022-12-12', 'symbols': "['AAPL', 'TSLA', 'MSFT']"}]>

我想用QuerySet的"symbols"输出定义一个变量X。
比如:

X = cd['symbols']
2izufjch

2izufjch1#

QuerySet包含字典列表。
如果您确定每个用户只有一个Memory,则可以执行以下操作以仅检索该Memory示例:

if cmd_exec == '/wanalysis':
        get_Memory = Memory.objects.filter(user=current_user).values() 
        cd = get_Memory.first()
        X = cd['symbols']
        print(X)

如果每个用户可以有多个Memory,则需要通过迭代查询集来构造符号列表:

if cmd_exec == '/wanalysis':
        get_Memory = Memory.objects.filter(user=current_user).values() 
        cd = get_Memory.all()  
        X = [memory['symbol'] for memory in cd]
        print(X)

检索值()而不是模型对象是否有原因?

相关问题