class SecondModel(Model):

    __table_name__ = 'first_model'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.UUID()
    third_key = columns.Text()
    fourth_key = columns.Text()
class FourthModel(Model):

    __table_name__ = 'first_model'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.UUID()
    third_key = columns.Text()
    # renamed model field, but map to existing column
    renamed = columns.Map(columns.Text, columns.Text, db_field='blah')
class ThirdModel(Model):

    __table_name__ = 'first_model'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.UUID()
    third_key = columns.Text()
    # removed fourth key, but it should stay in the DB
    blah = columns.Map(columns.Text, columns.Text)
Ejemplo n.º 4
0
class CommentsByVideoModel(Model):
    """Model class that maps to the comments_by_video table"""
    __table_name__ = 'comments_by_video'
    video_id = columns.UUID(db_field='videoid', primary_key=True)
    comment_id = columns.UUID(db_field='commentid',
                              primary_key=True,
                              clustering_order='DESC')
    user_id = columns.UUID(db_field='userid')
    comment = columns.Text()
class UserVideosModel(Model):
    """Model class that maps to the user_videos table"""
    __table_name__ = 'user_videos'
    user_id = columns.UUID(primary_key=True, db_field='userid')
    added_date = columns.DateTime(primary_key=True, clustering_order='DESC')
    video_id = columns.UUID(primary_key=True,
                            clustering_order='ASC',
                            db_field='videoid')
    name = columns.Text()
    preview_image_location = columns.Text()
class VideosModel(Model):
    """Model class that maps to the videos table"""
    __table_name__ = 'videos'
    video_id = columns.UUID(primary_key=True, db_field='videoid')
    user_id = columns.UUID(db_field='userid')
    name = columns.Text()
    description = columns.Text()
    location = columns.Text()
    location_type = columns.Integer()
    preview_image_location = columns.Text()
    tags = columns.Set(columns.Text)
    added_date = columns.DateTime()
Ejemplo n.º 7
0
class UserModel(Model):
    """Model class that maps to the user table"""
    __table_name__ = 'users'
    user_id = columns.UUID(db_field='userid', primary_key=True)
    first_name = columns.Text(db_field='firstname')
    last_name = columns.Text(db_field='lastname')
    email = columns.Text()
    created_date = columns.Date()
class ComplexModelRouting(Model):
    __table_name__ = 'complex_model_routing'
    partition = columns.UUID(partition_key=True, default=uuid4)
    cluster = columns.Integer(partition_key=True)
    count = columns.Integer()
    text = columns.Text(partition_key=True)
    float = columns.Float(partition_key=True)
    text_2 = columns.Text()
class TestModelSave(Model):
    partition = columns.UUID(primary_key=True, default=uuid4)
    cluster = columns.Integer(primary_key=True)
    count = columns.Integer(required=False)
    text = columns.Text(required=False, index=True)
    text_set = columns.Set(columns.Text, required=False)
    text_list = columns.List(columns.Text, required=False)
    text_map = columns.Map(columns.Text, columns.Text, required=False)
Ejemplo n.º 10
0
class ModelWithTableProperties(Model):

    __options__ = {'bloom_filter_fp_chance': '0.76328',
                   'comment': 'TxfguvBdzwROQALmQBOziRMbkqVGFjqcJfVhwGR',
                   'gc_grace_seconds': '2063',
                   'read_repair_chance': '0.17985',
                   'dclocal_read_repair_chance': '0.50811'}

    key = columns.UUID(primary_key=True)
class TestNestedModel(Model):

    partition = columns.UUID(primary_key=True, default=uuid4)
    list_list = columns.List(columns.List(columns.Integer), required=False)
    map_list = columns.Map(columns.Text,
                           columns.List(columns.Text),
                           required=False)
    set_tuple = columns.Set(columns.Tuple(columns.Integer, columns.Integer),
                            required=False)
class TestIndexSetModel(Model):
    partition = columns.UUID(primary_key=True)
    int_set = columns.Set(columns.Integer, index=True)
    int_list = columns.List(columns.Integer, index=True)
    text_map = columns.Map(columns.Text, columns.DateTime, index=True)
    mixed_tuple = columns.Tuple(columns.Text,
                                columns.Integer,
                                columns.Text,
                                index=True)
Ejemplo n.º 13
0
        class AllLeveledOptionsModel(Model):
            __options__ = {
                'compaction': {
                    'class':
                    'org.apache.cassandra.db.compaction.LeveledCompactionStrategy',
                    'sstable_size_in_mb': '64'
                }
            }

            cid = columns.UUID(primary_key=True)
            name = columns.Text()
class TestTupleModel(Model):

    partition = columns.UUID(primary_key=True, default=uuid4)
    int_tuple = columns.Tuple(columns.Integer,
                              columns.Integer,
                              columns.Integer,
                              required=False)
    text_tuple = columns.Tuple(columns.Text, columns.Text, required=False)
    mixed_tuple = columns.Tuple(columns.Text,
                                columns.Integer,
                                columns.Text,
                                required=False)
Ejemplo n.º 15
0
        class AllSizeTieredOptionsModel(Model):
            __options__ = {
                'compaction': {
                    'class':
                    'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy',
                    'bucket_low': '.3',
                    'bucket_high': '2',
                    'min_threshold': '2',
                    'max_threshold': '64',
                    'tombstone_compaction_interval': '86400'
                }
            }

            cid = columns.UUID(primary_key=True)
            name = columns.Text()
Ejemplo n.º 16
0
class AllDatatypes(UserType):
    a = columns.Ascii()
    b = columns.BigInt()
    c = columns.Blob()
    d = columns.Boolean()
    e = columns.DateTime()
    f = columns.Decimal()
    g = columns.Double()
    h = columns.Float()
    i = columns.Inet()
    j = columns.Integer()
    k = columns.Text()
    l = columns.TimeUUID()
    m = columns.UUID()
    n = columns.VarInt()
Ejemplo n.º 17
0
class FamilyMembers(Model):
    __keyspace__ = KEYSPACE
    id = columns.UUID(primary_key=True, default=uuid4)
    surname = columns.Text(primary_key=True)
    name = columns.Text(primary_key=True)
    birth_year = columns.Integer()
    sex = columns.Text(min_length=1, max_length=1)

    def validate(self):
        super(FamilyMembers, self).validate()
        if self.sex and self.sex not in 'mf':
            raise ValidationError("FamilyMember.sex must be one of ['m', 'f']")

        if self.birth_year and self.sex == 'f':
            raise ValidationError(
                "FamilyMember.birth_year is set, and 'a lady never tells'")
Ejemplo n.º 18
0
 class AllDatatypesModel(Model):
     id = columns.Integer(primary_key=True)
     a = columns.Ascii()
     b = columns.BigInt()
     c = columns.Blob()
     d = columns.Boolean()
     e = columns.DateTime()
     f = columns.Decimal()
     g = columns.Double()
     h = columns.Float()
     i = columns.Inet()
     j = columns.Integer()
     k = columns.Text()
     l = columns.TimeUUID()
     m = columns.UUID()
     n = columns.VarInt()
Ejemplo n.º 19
0
class BaseEntity(CustomDjangoCassandraModel):
    """
    The common field that will be shared between all the managed entities
    """
    __abstract__ = True

    # A unique identifier of the entity
    _id = columns.UUID(primary_key=True, default=uuid.uuid4)

    # When was created the entity and the last modification date
    created_at = columns.DateTime(default=datetime.utcnow)
    updated_at = columns.DateTime(default=datetime.utcnow)

    # Controls if the entity is active or has been deleted
    is_deleted = columns.Boolean(default=False)
    deleted_reason = columns.Text()

    class Meta:
        get_pk_field = '_id'
        class CQModel(Model):
            __queryset__ = QSet

            part = columns.UUID(primary_key=True)
            data = columns.Text()
        class Stuff(Model):

            id = columns.UUID(primary_key=True, default=lambda: uuid4())
            words = columns.Text()
            content = columns.Text()
            numbers = columns.Integer()
Ejemplo n.º 22
0
class TestIfNotExistsWithCounterModel(Model):

    id = columns.UUID(primary_key=True, default=lambda: uuid4())
    likes = columns.Counter()
        class CDQModel(Model):

            __dmlquery__ = DMLQ
            part = columns.UUID(primary_key=True)
            data = columns.Text()
Ejemplo n.º 24
0
class TestTimestampModel(Model):
    id = columns.UUID(primary_key=True, default=lambda: uuid4())
    count = columns.Integer()
Ejemplo n.º 25
0
class TestIfNotExistsModel(Model):

    id = columns.UUID(primary_key=True, default=lambda: uuid4())
    count = columns.Integer()
    text = columns.Text(required=False)
        class WildDBNames(Model):

            id = columns.UUID(primary_key=True, default=lambda: uuid4())
            content = columns.Text(db_field='words_and_whatnot')
            numbers = columns.Integer(db_field='integers_etc')
class ChangedInconsistent(Model):

    __table_name__ = 'inconsistent'
    __table_name_case_sensitive__ = True
    first_key = columns.UUID(primary_key=True)
    second_key = columns.Text(index=True)
class BaseInconsistent(Model):

    __table_name__ = 'inconsistent'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.Integer(index=True)
    third_key = columns.Integer(index=True)
class IndexCaseSensitiveModel(Model):

    __table_name__ = 'IndexModel'
    __table_name_case_sensitive__ = True
    first_key = columns.UUID(primary_key=True)
    second_key = columns.Text(index=True)
class IndexModel(Model):

    __table_name__ = 'index_model'
    first_key = columns.UUID(primary_key=True)
    second_key = columns.Text(index=True)