class User(UserType): # We use Date and Time to ensure to_python # is called for these columns age = Integer() date_param = Date() map_param = Map(Integer, Time) list_param = List(Date) set_param = Set(Date) tuple_param = Tuple(Date, Decimal, Boolean, VarInt, Double, UUID)
class DatetimeTest(Model): test_id = Integer(primary_key=True) created_at = DateTime()
class IntegerTest(Model): test_id = UUID(primary_key=True, default=lambda: uuid4()) value = Integer(default=0, required=True)
class TimeUUIDTest(Model): test_id = Integer(primary_key=True) timeuuid = TimeUUID(default=uuid1())
class UUIDTest(Model): test_id = Integer(primary_key=True) a_uuid = UUID(default=uuid4())
class DecimalTest(Model): test_id = Integer(primary_key=True) dec_val = Decimal()
class VarIntTest(Model): test_id = Integer(primary_key=True) bignum = VarInt(primary_key=True)
class BoolValidationTest(Model): test_id = Integer(primary_key=True) bool_column = Boolean()
class BoolDefaultValueTest(Model): test_id = Integer(primary_key=True) stuff = Boolean(default=True)
class UserModel(Model): test_id = Integer(primary_key=True) class_param = UserDefinedType(User)
class DataTypeTest(Model): test_id = Integer(primary_key=True) class_param = cls.db_klass()