Skip to content

Commit 53c1716

Browse files
committed
cqlengine example tweaks
moved import, added a LWT example, set schema management var to avoid warning
1 parent 870d769 commit 53c1716

1 file changed

Lines changed: 21 additions & 7 deletions

File tree

example_mapper.py

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,14 @@
1414
# See the License for the specific language governing permissions and
1515
# limitations under the License.
1616

17+
# silence warnings just for demo -- applications would typically not do this
18+
import os
19+
os.environ['CQLENG_ALLOW_SCHEMA_MANAGEMENT'] = '1'
20+
1721
import logging
1822

1923
log = logging.getLogger()
20-
log.setLevel('DEBUG')
24+
log.setLevel('INFO')
2125
handler = logging.StreamHandler()
2226
handler.setFormatter(logging.Formatter("%(asctime)s [%(levelname)s] %(name)s: %(message)s"))
2327
log.addHandler(handler)
@@ -27,9 +31,9 @@
2731
from cassandra.cqlengine import columns
2832
from cassandra.cqlengine import connection
2933
from cassandra.cqlengine import management
30-
from cassandra.cqlengine.exceptions import ValidationError
34+
from cassandra.cqlengine import ValidationError
3135
from cassandra.cqlengine.models import Model
32-
from cassandra.cqlengine.query import BatchQuery
36+
from cassandra.cqlengine.query import BatchQuery, LWTException
3337

3438
KEYSPACE = "testkeyspace"
3539

@@ -61,12 +65,19 @@ def main():
6165
log.info("### syncing model...")
6266
management.sync_table(FamilyMembers)
6367

64-
log.info("### add entities serially")
65-
simmons = FamilyMembers.create(surname='Simmons', name='Gene', birth_year=1949, sex='m') # default uuid is assigned
68+
# default uuid is assigned
69+
simmons = FamilyMembers.create(surname='Simmons', name='Gene', birth_year=1949, sex='m')
6670

67-
# add members later
71+
# add members to his family later
6872
FamilyMembers.create(id=simmons.id, surname='Simmons', name='Nick', birth_year=1989, sex='m')
69-
FamilyMembers.create(id=simmons.id, surname='Simmons', name='Sophie', sex='f')
73+
sophie = FamilyMembers.create(id=simmons.id, surname='Simmons', name='Sophie', sex='f')
74+
75+
nick = FamilyMembers.objects(id=simmons.id, surname='Simmons', name='Nick')
76+
try:
77+
nick.iff(birth_year=1988).update(birth_year=1989)
78+
except LWTException:
79+
print "precondition not met"
80+
7081
# showing validation
7182
try:
7283
FamilyMembers.create(id=simmons.id, surname='Tweed', name='Shannon', birth_year=1957, sex='f')
@@ -95,6 +106,9 @@ def main():
95106
for m in FamilyMembers.objects(id=simmons.id, surname=simmons.surname):
96107
print m, m.birth_year, m.sex
97108

109+
log.info("### Constrain on clustering key")
110+
kids = FamilyMembers.objects(id=simmons.id, surname=simmons.surname, name__in=['Nick', 'Sophie'])
111+
98112
log.info("### Delete a record")
99113
FamilyMembers(id=hogan_id, surname='Hogan', name='Linda').delete()
100114
for m in FamilyMembers.objects(id=hogan_id):

0 commit comments

Comments
 (0)