class Post(Document): __collection__ = "posts" title = StringField(required=True) text = StringField(required=True, db_field="content") category = ReferenceField(reference_document_type=Category) comments = ListField(EmbeddedDocumentField(embedded_document_type=Comment))
class User(Document): __collection__ = "users" index = IntField(required=True) email = StringField(required=True) first_name = StringField(db_field="whatever", max_length=50, default=lambda: "Bernardo") last_name = StringField(max_length=50, default="Heynemann") is_admin = BooleanField(default=True) website = URLField(default="http://google.com/") updated_at = DateTimeField(required=True, auto_now_on_insert=True, auto_now_on_update=True) embedded = EmbeddedDocumentField(EmbeddedDocument, db_field="embedded_document") nullable = EmbeddedDocumentField(EmbeddedDocument, db_field="nullable_embedded_document") numbers = ListField(IntField()) posts = ListField(ReferenceField(reference_document_type=Post)) def __repr__(self): return "%s %s <%s>" % (self.first_name, self.last_name, self.email)
class Comment(Document): text = StringField(required=True) user = ReferenceField(User, required=True)
class CommentNotLazy(Document): __lazy__ = False text = StringField(required=True) user = ReferenceField(User, required=True)
class Parent(Document): __collection__ = "EmbeddedIsNullTestParent" child = ReferenceField(Child)
class Test(Document): __collection__ = "EmbeddedExistsTestParent" test = ReferenceField(Test2)
class ReferenceFieldClass(Document): __collection__ = "TestFindAllReferenceField" ref1 = ReferenceField(User) num = IntField(default=10)
class ReferenceFieldClass(Document): ref1 = ReferenceField(User) ref2 = ReferenceField(User) ref3 = ReferenceField(User)
class Base(Document): __collection__ = "base" __lazy__ = False list_val = ListField(ReferenceField(reference_document_type=Ref))