added timeuuid column
This commit is contained in:
@@ -197,6 +197,17 @@ class UUID(Column):
|
|||||||
raise ValidationError("{} is not a valid uuid".format(value))
|
raise ValidationError("{} is not a valid uuid".format(value))
|
||||||
return _UUID(val)
|
return _UUID(val)
|
||||||
|
|
||||||
|
class TimeUUID(UUID):
|
||||||
|
"""
|
||||||
|
UUID containing timestamp
|
||||||
|
"""
|
||||||
|
|
||||||
|
db_type = 'timeuuid'
|
||||||
|
|
||||||
|
def __init__(self, **kwargs):
|
||||||
|
kwargs.setdefault('default', lambda: uuid1())
|
||||||
|
super(TimeUUID, self).__init__(**kwargs)
|
||||||
|
|
||||||
class Boolean(Column):
|
class Boolean(Column):
|
||||||
db_type = 'boolean'
|
db_type = 'boolean'
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ from decimal import Decimal as D
|
|||||||
|
|
||||||
from cqlengine.tests.base import BaseCassEngTestCase
|
from cqlengine.tests.base import BaseCassEngTestCase
|
||||||
|
|
||||||
from cqlengine.columns import Column
|
from cqlengine.columns import Column, TimeUUID
|
||||||
from cqlengine.columns import Bytes
|
from cqlengine.columns import Bytes
|
||||||
from cqlengine.columns import Ascii
|
from cqlengine.columns import Ascii
|
||||||
from cqlengine.columns import Text
|
from cqlengine.columns import Text
|
||||||
@@ -63,5 +63,36 @@ class TestDecimal(BaseCassEngTestCase):
|
|||||||
dt2 = self.DecimalTest.objects(test_id=0).first()
|
dt2 = self.DecimalTest.objects(test_id=0).first()
|
||||||
assert dt2.dec_val == D('5')
|
assert dt2.dec_val == D('5')
|
||||||
|
|
||||||
|
class TestTimeUUID(BaseCassEngTestCase):
|
||||||
|
class TimeUUIDTest(Model):
|
||||||
|
test_id = Integer(primary_key=True)
|
||||||
|
timeuuid = TimeUUID()
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def setUpClass(cls):
|
||||||
|
super(TestTimeUUID, cls).setUpClass()
|
||||||
|
create_table(cls.TimeUUIDTest)
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def tearDownClass(cls):
|
||||||
|
super(TestTimeUUID, cls).tearDownClass()
|
||||||
|
delete_table(cls.TimeUUIDTest)
|
||||||
|
|
||||||
|
def test_timeuuid_io(self):
|
||||||
|
t0 = self.TimeUUIDTest.create(test_id=0)
|
||||||
|
t1 = self.TimeUUIDTest.get(test_id=0)
|
||||||
|
|
||||||
|
assert t1.timeuuid.time == t1.timeuuid.time
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user