class TupleDocument(doc.Doc): tuple_field = doc.FieldTuple(doc.FieldNumeric(validators=[(lambda v: v <= 5, 'Value must be more than 5')]), doc.FieldString(), doc.FieldNumeric(none=False), doc.FieldNumeric(none=True)) class Meta: collection_name = 'test_tuple_document'
class TestMeDocument(doc.Doc): positive_number = doc.FieldNumeric(validators=[(lambda v: v < 0, 'positive number is required')]) even_number = doc.FieldNumeric(validators=[(lambda v: v % 2 == 1, 'even number only')]) negative_odd_number = doc.FieldNumeric(validators=[ (lambda v: v > 0, 'negative number is required'), (lambda v: v % 2 == 0, 'odd number is required') ]) custom_value = doc.FieldDateTime(validators=[in_the_past_or_throw]) class Meta: collection_name = 'test_me_document'
class NumericDocument(doc.Doc): VALUE_1 = 1 VALUE_2 = 2 VALUE_3 = 3 NUMBER_4_VALUES = ( (VALUE_1, '1st value'), (VALUE_2, '2nd value'), (VALUE_3, '3rd value') ) number1 = doc.FieldNumeric(max_value=30, min_value=10, none=False) number2 = doc.FieldNumeric(max_value=30.5, none=False) number3 = doc.FieldNumeric(min_value=-15.0, default=17) number4 = doc.FieldNumeric(choices=NUMBER_4_VALUES, default=VALUE_1) class Meta: collection_name = 'test_doc_numeric'
class SimpleDocument(doc.Doc): int_val = doc.FieldNumeric() str_val = doc.FieldString(none=False, default="default_value_of_string") class Meta: collection_name = "simple_document"
class BadConnectionName(doc.Doc): useless_field = doc.FieldNumeric() class Meta: collection_name = 'create_me_if_you_can' connection_name = 'test_data_pool'
class BadValidationField(doc.Doc): bad_validation_field = doc.FieldNumeric(validators='simple_string') class Meta: collection_name = 'create_me_if_you_can'
class NumericDocument(doc.Doc): number = doc.FieldNumeric(max_value=30, min_value=100) class Meta: collection_name = 'create_me_if_you_can'
class NestedContentDocument(doc.FieldSpecAware): int_val = doc.FieldNumeric(default=303) str_val = doc.FieldString(default="default_value")
class ABitComplexDocument(SimpleDocument): int_val_2 = doc.FieldNumeric(none=False) str_val = doc.FieldString(default="default_value_changed") class Meta: collection_name = ":complex_1" # use ':' to annotate the system that this will share the same collection