class IndexedCollectionsTestModel(Model): test_id = columns.Integer(primary_key=True) attempt_id = columns.Integer(index=True) description = columns.Text() expected_result = columns.Integer() test_result = columns.Integer(index=True) test_list = columns.List(columns.Integer, index=True) test_set = columns.Set(columns.Integer, index=True) test_map = columns.Map(columns.Text, columns.Integer, index=True) test_list_no_index = columns.List(columns.Integer, index=False) test_set_no_index = columns.Set(columns.Integer, index=False) test_map_no_index = columns.Map(columns.Text, columns.Integer, index=False)
class SectionCours(Model): __table_name__ = 'section_cours' code_session = columns.Text(primary_key=True, partition_key=True) nrc = columns.Text(primary_key=True, partition_key=True) titre = columns.Text(required=True) sigle_matiere = columns.Text(required=True) numero_cours = columns.Text(required=True) date_debut = columns.Date() date_fin = columns.Date() inscriptions = columns.Set(value_type=columns.BigInt()) enseignants = columns.Set(value_type=columns.BigInt())
class DocumentFromRecord(Model): """Query table for finding documents given records.""" id = columns.Text(primary_key=True) uri = columns.Text(primary_key=True) mimetype = columns.Text() tags = columns.Set(columns.Text())
class SubjectOffering(Model): __keyspace__ = 'infs3208' name = columns.Text(primary_key=True) year = columns.Integer(primary_key=True) semester = columns.Integer(primary_key=True) classes = columns.Set(columns.UserDefinedType(Class))
class page_meta_type(usertype.UserType): meta_title = columns.Text(required=False) full_title = columns.Text(required=False) meta_dscr = columns.Text(required=False) meta_keywords = columns.Set(columns.Text(required=False)) other_languages = columns.Map(columns.Text(required=False), columns.Text(required=False)) other_html = columns.Text(required=False)
def test_instantiation_with_column_class(self): """ Tests that columns instantiated with a column class work properly and that the class is instantiated in the constructor """ column = columns.Set(columns.Text) assert isinstance(column.value_col, columns.Text)
class TrendList(DjangoCassandraModel): requested_year = columns.Integer(primary_key=True) requested_month = columns.Integer(primary_key=True) requested_day = columns.Integer(primary_key=True) tag_counts = columns.Set(columns.Text()) class Meta: get_pk_field = 'requested_year'
class ScalarDataFromRecord(Model): """Query table for finding a scalar-valued Record.data entry given record ID.""" id = columns.Text(primary_key=True) name = columns.Text(primary_key=True) value = columns.Double(primary_key=True) units = columns.Text() tags = columns.Set(columns.Text())
class RecordFromScalarData(Model): """Query table for finding records given scalar criteria.""" name = columns.Text(primary_key=True) value = columns.Double(primary_key=True) id = columns.Text(primary_key=True) units = columns.Text() tags = columns.Set(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)
def test_to_python(self): """ Tests that to_python of value column is called """ column = columns.Set(JsonTestColumn) val = set((1, 2, 3)) db_val = column.to_database(val) self.assertEqual(db_val, set(json.dumps(v) for v in val)) py_val = column.to_python(db_val) self.assertEqual(py_val, val)
def test_to_python(self): """ Tests that to_python of value column is called """ column = columns.Set(JsonTestColumn) val = {1, 2, 3} db_val = column.to_database(val) assert db_val.value == {json.dumps(v) for v in val} py_val = column.to_python(db_val.value) assert py_val == val
class Vehicles(m.Model): __keyspace__ = "swapi" __connection__ = "swapi" id = col.BigInt(primary_key=True) cargo_capacity = col.Text(max_length=32) consumables = col.Text(max_length=96) cost_in_credits = col.Text(max_length=96) crew = col.Text(max_length=32) films = col.Set(col.BigInt) length = col.Text(max_length=32) manufacturer = col.Text(max_length=96) max_atmosphering_speed = col.Text(max_length=32) model = col.Text(max_length=96) name = col.Text(max_length=96) passengers = col.Text(max_length=16) pilots = col.Set(col.BigInt) vehicle_class = col.Text(max_length=96)
class Planets(m.Model): __keyspace__ = "swapi" __connection__ = "swapi" id = col.BigInt(primary_key=True) name = col.Text(max_length=96) diameter = col.Text(max_length=16) rotation_period = col.Text(max_length=16) orbital_period = col.Text(max_length=16) gravity = col.Text(max_length=96) population = col.Text(max_length=32) climate = col.Text(max_length=96) terrain = col.Text(max_length=96) surface_water = col.Text(max_length=16) residents = col.Set(col.BigInt) films = col.Set(col.BigInt) created = col.Date() edited = col.Date()
class Films(m.Model): __keyspace__ = "swapi" __connection__ = "swapi" id = col.BigInt(primary_key=True) episode_id = col.Integer(index=True) title = col.Text(index=True) director = col.Text(max_length=96) producer = col.Text(max_length=96) release_date = col.Date() opening_crawl = col.Text() species = col.Set(col.BigInt) starships = col.Set(col.BigInt) vehicles = col.Set(col.BigInt) characters = col.Set(col.BigInt) planets = col.Set(col.BigInt) created = col.Date() edited = col.Date()
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)
class DHCP(ConnBaseModel): __discriminator_value__ = 'DHCP' client_addr = columns.Inet(required=False) mac = columns.Text(required=False) host_name = columns.Text(required=False) msg_types = columns.Set(value_type=columns.Text, required=False) duration = columns.Float(required=False) assigned_ip = columns.Text(required=False) lease_time = columns.Text(required=False) trans_id1 = columns.Text(required=False)
class People(m.Model): __keyspace__ = "swapi" __connection__ = "swapi" id = col.BigInt(primary_key=True) name = col.Text(max_length=96) height = col.Text(max_length=16) mass = col.Text(max_length=16) skin_color = col.Text(max_length=16) eye_color = col.Text(max_length=16) birth_year = col.Text(max_length=16) gender = col.Text(max_length=16) homeworld = col.BigInt() films = col.Set(col.BigInt) species = col.Set(col.BigInt) starships = col.Set(col.BigInt) vehicles = col.Set(col.BigInt) created = col.Date() edited = col.Date()
class Species(m.Model): __keyspace__ = "swapi" __connection__ = "swapi" id = col.BigInt(primary_key=True) name = col.Text(max_length=96) classification = col.Text(max_length=96) designation = col.Text(max_length=96) average_height = col.Text(max_length=16) average_lifespan = col.Text(max_length=16) eye_colors = col.Text(max_length=96) hair_colors = col.Text(max_length=96) skin_colors = col.Text(max_length=96) language = col.Text(max_length=96) homeworld = col.BigInt() people = col.Set(col.BigInt) films = col.Set(col.BigInt) created = col.Date() edited = col.Date()
class StringListDataFromRecord(Model): """Query table for finding a scalar list-valued Record.data entry given record ID.""" id = columns.Text(primary_key=True) name = columns.Text(primary_key=True) # Until freeze support is public-facing, this is the cleanest option # pylint: disable=protected-access value = columns.List(columns.Text(), primary_key=True) value._freeze_db_type() units = columns.Text() tags = columns.Set(columns.Text())
class DNS(ConnBaseModel): __discriminator_value__ = 'DNS' trans_id = columns.Integer(required=False) rtt = columns.Text(required=False) query = columns.Text(required=False) qclass = columns.Text(required=False) qclass_name = columns.Text(required=False) qtype = columns.Text(required=False) qtype_name = columns.Text(required=False) rcode = columns.Integer(required=False) rcode_name = columns.Text(required=False) aa = columns.Boolean(required=False) tc = columns.Boolean(required=False) rd = columns.Boolean(required=False) ra = columns.Boolean(required=False) z = columns.Integer(required=False) answers = columns.Set(columns.Text, required=False) ttls = columns.Set(columns.Float, required=False) rejected = columns.Boolean(required=False) addl = columns.Text(required=False) auth = columns.Text(required=False)
class UserModel(DjangoCassandraModel): class Meta: get_pk_field = 'id' id = columns.UUID(primary_key=True, default=uuid.uuid1()) lastname = columns.Text(required=False) firstname = columns.Text(required=False) username = columns.Text() password = columns.Text() admin = columns.Boolean(required=False) favorite = columns.Set(columns.UUID(), required=False) stock = columns.Map(columns.Text(), columns.Float(), required=False)
class ScalarListDataFromRecord(Model): """Query table for finding a scalar list-valued Record.data entry given record ID.""" id = columns.Text(primary_key=True) name = columns.Text(primary_key=True) # CQLEngine support for frozen collections isn't part of their API. # Currently, _freeze_db_type() *is* the least hacky option. # pylint: disable=protected-access value = columns.List(columns.Double(), primary_key=True) value._freeze_db_type() units = columns.Text() tags = columns.Set(columns.Text())
class Starships(m.Model): __keyspace__ = "swapi" __connection__ = "swapi" id = col.BigInt(primary_key=True) cargo_capacity = col.Text(max_length=32) consumables = col.Text(max_length=96) cost_in_credits = col.Text(max_length=32) crew = col.Text(max_length=32) hyperdrive_rating = col.Text(max_length=32) length = col.Text(max_length=32) manufacturer = col.Text(max_length=96) max_atmosphering_speed = col.Text(max_length=32) mglt = col.Text(max_length=96) model = col.Text(max_length=96) name = col.Text(max_length=96) passengers = col.Text(max_length=16) starship_class = col.Text(max_length=96) films = col.Set(col.BigInt) pilots = col.Set(col.BigInt) created = col.Date() edited = col.Date()
class RecordFromStringData(Model): """ Query table for finding records given string criteria (ex, "version"="1.2.3"). String data are any Record.data entry provided by the user that doesn't have a number for a value (ex: "machine":"merl", "version":"1.2"). """ name = columns.Text(primary_key=True) value = columns.Text(primary_key=True) id = columns.Text(primary_key=True) units = columns.Text() tags = columns.Set(columns.Text())
class GeoTweet(DjangoCassandraModel): tweet_id = columns.UUID(primary_key=True, default=uuid.uuid4) created_at_year = columns.Integer(primary_key=True) created_at_month = columns.Integer(primary_key=True) created_at_day = columns.Integer(primary_key=True) created_at_time = columns.Integer(primary_key=True) status = columns.Text(required=True) hashtags = columns.Set(columns.Text()) author_user_name = columns.Text() author_image = columns.Text() class Meta: get_pk_field = 'tweet_id'
class MessageModel(Model): id = columns.UUID(primary_key=True, default=uuid.uuid4) chat_id = columns.UUID(required=True) user_id = columns.Integer(required=True) message = columns.Text(required=True) status = columns.Set(columns.Integer()) create_at = columns.DateTime() def to_dict(self): return { 'id': str(self.id), 'chat_id': self.chat_id, 'user_id': self.user_id, 'message': self.message, 'create_at': self.create_at, }
class Person(Model): __table_name__ = 'useridindex' __keyspace__ = 'testdb' __connection__ = 'cluster2' id = columns.UUID(primary_key=True, default=uuid.uuid4) first_name = columns.Text() last_name = columns.Text() assets_idx = columns.Set(columns.Integer()) def get_data(self): return { 'id': str(self.id), 'first_name': self.first_name, 'last_name': self.last_name, # 'assets_idx': self......... }
def test_instantiation_with_column_class(self): """ Tests that columns instantiated with a column class work properly and that the class is instantiated in the constructor @since 3.1 @jira_ticket PYTHON-478 @expected_result types are instantiated correctly @test_category object_mapper """ 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) self.assertIsInstance(list_list, columns.List) self.assertIsInstance(list_list.types[0], columns.List) self.assertIsInstance(map_list.types[0], columns.Text) self.assertIsInstance(map_list.types[1], columns.List) self.assertIsInstance(set_tuple.types[0], columns.Tuple)