Add BatchQuery and ContextQuery in the docs
This commit is contained in:
@@ -136,6 +136,8 @@ class BatchQuery(object):
|
||||
Handles the batching of queries
|
||||
|
||||
http://www.datastax.com/docs/1.2/cql_cli/cql/BATCH
|
||||
|
||||
See :doc:`/cqlengine/batches` for more details.
|
||||
"""
|
||||
warn_multiple_exec = True
|
||||
|
||||
@@ -173,6 +175,11 @@ class BatchQuery(object):
|
||||
self._context_entered = False
|
||||
|
||||
def add_query(self, query):
|
||||
"""
|
||||
Adds a query to the batch.
|
||||
|
||||
:param query: The query
|
||||
"""
|
||||
if not isinstance(query, BaseCQLStatement):
|
||||
raise CQLEngineException('only BaseCQLStatements can be added to a batch query')
|
||||
self.queries.append(query)
|
||||
@@ -202,6 +209,9 @@ class BatchQuery(object):
|
||||
self._callbacks.append((fn, args, kwargs))
|
||||
|
||||
def execute(self):
|
||||
"""
|
||||
Executes the batch.
|
||||
"""
|
||||
if self._executed and self.warn_multiple_exec:
|
||||
msg = "Batch executed multiple times."
|
||||
if self._context_entered:
|
||||
@@ -260,8 +270,28 @@ class BatchQuery(object):
|
||||
|
||||
|
||||
class ContextQuery(object):
|
||||
"""
|
||||
A Context manager to allow a Model to switch context easily. Presently, the context only
|
||||
specifies a keyspace for model IO.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
with ContextQuery(Automobile, keyspace='test2') as A:
|
||||
A.objects.create(manufacturer='honda', year=2008, model='civic')
|
||||
print len(A.objects.all()) # 1 result
|
||||
|
||||
with ContextQuery(Automobile, keyspace='test4') as A:
|
||||
print len(A.objects.all()) # 0 result
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, model, keyspace=None):
|
||||
"""
|
||||
:param model: A model
|
||||
:param keyspace: (optional) A keyspace name
|
||||
"""
|
||||
from cassandra.cqlengine import models
|
||||
|
||||
if not issubclass(model, models.Model):
|
||||
|
||||
@@ -54,6 +54,11 @@ The methods here are used to filter, order, and constrain results.
|
||||
|
||||
.. automethod:: update
|
||||
|
||||
.. autoclass:: BatchQuery
|
||||
:members:
|
||||
|
||||
.. autoclass:: ContextQuery
|
||||
|
||||
.. autoclass:: DoesNotExist
|
||||
|
||||
.. autoclass:: MultipleObjectsReturned
|
||||
|
||||
Reference in New Issue
Block a user