Получить определенную переменную из набора запросов
Я пытаюсь получить определенную часть вывода cd
, но мой код не работает. Я пытаюсь определить новую переменную, содержащую только объект 'символы' из вывода Queryset.
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']"}]>
Я хотел бы определить переменную X с помощью 'символов', выводимых из QuerySet.
Так что что-то вроде:
X = cd['symbols']
Набор 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)
Есть ли причина, по которой вы извлекаете values(), а не объекты модели?