a fork of cqlengine modified to work in baseplate.py applications
Project description
This project is a fork of cqlengine with a number of changes to allow it to work in a baseplate application
- Major changes:
Remove support for polymorphic models
Remove the query evaluator method of defining query constraints
Switch from using a global connection object to passing a connection object to methods that interact with the database
Batch queries are handled by a Connection-like Batch object that is given as the conn argument to functions rather than using the Model.batch syntax of cqlengine
Example usage:
import uuid from cassandra.cluster import Cluster from cqlmapper import columns, connection, models from cqlmapper.batch import Batch from cqlmapper.connection import Connection as CQLMapperConnection from cqlmapper.management import sync_table class MyFirstModel(Model): id = columns.UUID(primary_key=True, default=uuid.uuid4) body = colums.Text() cluster = Cluster() session = cluster.connect("example") conn = CQLMapperConnection(session) sync_table(conn, MyFirstModel) model_1 = MyFirstModel.create(conn, body="Hello World") model_2 = MyFirstModel.create(conn, body="Hola Mundo") # Batch queries can be used as a context manager where the batch query will # be executed when exiting the context with Batch(conn) as batch_conn: MyFirstModel.create(batch_conn, body="Ciao mondo") MyFirstModel.create(batch_conn, body="Bonjour le monde") # Batch queries can also be created standalone in which case execute_batch # can be called to execute the queries. Calls to execute will add the # query to the batch batch_conn = Batch(conn) MyFirstModel.create(batch_conn, body="Hallo Welt") MyFirstModel.create(batch_conn, body="Hei Verden") >>> MyFirstModel.objects.count(conn) 4 >>> batch_conn.execute_batch() >>> MyFirstModel.objects.count(conn) 6 >>> MyFirstModel.get(conn, id=model_1.id).text == model_1.text True >>> MyFirstModel.get(conn, id=model_2.id).text == model_1.text False
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
reddit_cqlmapper-0.3.0.tar.gz
(105.9 kB
view hashes)
Built Distribution
Close
Hashes for reddit_cqlmapper-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfa34183b07fb2761d86e7a1346007dd06efa4a33c98d6ef9ae7b1394eb992f0 |
|
MD5 | bed67d4d97ddb652d1e1a4b4f7c5647b |
|
BLAKE2b-256 | 7ba318b258a817212c735734d1343e06b08fd15f5bf17153a6c3e7b6279c8efd |