class Person(wm.Model): aliases = wm.FieldCollectionField(wm.StringField()) events = wm.FieldCollectionField(wm.DateField( '%Y-%m-%d', serial_format='%m-%d-%Y'), source='schedule')
class User(wm.Model): name = wm.StringField() posts = wm.ModelCollectionField(Post, related_name="author")
class HasAFieldCollectionField(wm.Model): first = wm.FieldCollectionField(wm.StringField())
class User(wm.Model): name = wm.StringField() posts = wm.ModelCollectionField(Post)
class Post(wm.Model): title = wm.StringField()
class Post(wm.Model): title = wm.StringField() author = wm.ModelField(User)
class IsASubModel(wm.Model): first = wm.StringField()
class Post(wm.Model): title = wm.StringField() author = wm.ModelField(User, related_name="post")
class User(wm.Model): name = wm.StringField() @classmethod def from_dict(cls, *args, **kwargs): raise SomethingExceptional("opps.")
class CustomSourceModel(wm.Model): first = wm.StringField(source='custom_source')
class User(wm.Model): name = wm.StringField()
class ThreeFieldsModel(wm.Model): first = wm.StringField() second = wm.StringField() third = wm.StringField()
def setUp(self): self.field = wm.StringField()
class SimpleModel(wm.Model): name = wm.StringField() field_with_source = wm.StringField(source='foo')
def test_model_add_field(self): obj = self.Person.from_dict(self.data) obj.add_field('gender', 'male', wm.StringField()) self.assertEqual(obj.gender, 'male') self.assertEqual(obj.to_dict(), dict(self.data, gender='male'))
class Person(wm.Model): name = wm.StringField() age = wm.IntegerField()