Запросы Cqlengine: как вернуть словарь?

Я использую cqlengine в приложении Django, где Cassandra является вторичной базой данных.

В некоторых случаях мне нужно вручную объединить результаты запросов к базе данных SQL и NoSQL.

Для SQL я использую:

model_name.objects.all().values() 

для возврата словаря, а не объектов экземпляра модели.

Но я не могу найти подходящие методы в cqlengine.

Как новичок в python, я не знаю, как лучше всего реализовать эту функциональность в библиотеке cqlengine.

Может у вас есть примеры программного кода, обеспечивающего это?


person Maria    schedule 31.01.2015    source источник


Ответы (2)


Мне нравится использовать генератор цикла вроде такого:

[dict(foo) for foo in Bar.objects.all()]

Это вернет словарь всех объектов и, в зависимости от вашей кодовой базы, позволит вам выполнять пользовательскую сериализацию и десериализацию.

person Ryan Kuhl    schedule 03.03.2015
comment
Большое спасибо! А если мне нужно получить не все поля, а только некоторые из них, и представить результат в виде словаря? Я нашел, как фильтровать поля с помощью values_list(), но результат - список. Есть ли другой способ? - person Maria; 04.03.2015
comment
Я бы не рекомендовал использовать это, учитывая, что CQLEngine имеет собственную встроенную функциональность для обработки этого... Я бы также не использовал values_list(). Читали ли вы официальную документацию перед использованием модуля? - person mbeacom; 30.04.2015