class TwitterUser(micromodels.Model): id = micromodels.IntegerField() screen_name = micromodels.CharField() name = micromodels.CharField() description = micromodels.CharField() def get_profile_url(self): return 'http://twitter.com/%s' % self.screen_name
class Issue(micromodels.Model): number = micromodels.IntegerField() title = micromodels.CharField() state = micromodels.CharField() body = micromodels.CharField() created_at = micromodels.DateTimeField(format=DT_FORMAT) updated_at = micromodels.DateTimeField(format=DT_FORMAT) closed_at = micromodels.DateTimeField(format=DT_FORMAT) labels = micromodels.ModelCollectionField(Label) user = micromodels.ModelField(User) comments = micromodels.IntegerField() milestone = micromodels.ModelField(Milestone)
class UserModel(micromodels.Model): username = micromodels.CharField(required=True) timestamp = micromodels.DateTimeField( default=datetime.datetime.utcnow, required=True) age = micromodels.IntegerField(required=False) def validate_age(self): if self.age and self.age < 0: raise micromodels.ValidationError( "You can't be less than zero years old.")
class Post(micromodels.Model): title = micromodels.CharField() author = micromodels.ModelField(User)
class User(micromodels.Model): name = micromodels.CharField() @classmethod def from_dict(cls, *args, **kwargs): raise SomethingExceptional("opps.")
def setUp(self): self.field = micromodels.CharField()
class Person(micromodels.Model): name = micromodels.CharField() age = micromodels.IntegerField()
class HasAFieldCollectionField(micromodels.Model): first = micromodels.FieldCollectionField(micromodels.CharField())
class Post(micromodels.Model): title = micromodels.CharField()
class Tweet(micromodels.Model): id = micromodels.IntegerField() text = micromodels.CharField() created_at = micromodels.DateTimeField(format="%a %b %d %H:%M:%S +0000 %Y") user = micromodels.ModelField(TwitterUser)
class Comment(micromodels.Model): user = micromodels.ModelField(User) updated_at = micromodels.DateTimeField(format=DT_FORMAT) body = micromodels.CharField()
class Milestone(micromodels.Model): title = micromodels.CharField() def is_valid(self): return hasattr(self, "title")
class Label(micromodels.Model): name = micromodels.CharField()
class User(micromodels.Model): login = micromodels.CharField()
class IsASubModel(micromodels.Model): first = micromodels.CharField()
class ExampleModel(micromodels.Model): myfield = micromodels.CharField() time = micromodels.DateTimeField()
class User(micromodels.Model): name = micromodels.CharField() posts = micromodels.ModelCollectionField(Post)
class ThreeFieldsModel(micromodels.Model): first = micromodels.CharField() second = micromodels.CharField() third = micromodels.CharField()
class User(micromodels.Model): name = micromodels.CharField() posts = micromodels.ModelCollectionField(Post, related_name="author")
class CustomSourceModel(micromodels.Model): first = micromodels.CharField(source='custom_source')
class Person(micromodels.Model): aliases = micromodels.FieldCollectionField(micromodels.CharField()) events = micromodels.FieldCollectionField(micromodels.DateField('%Y-%m-%d', serial_format='%m-%d-%Y'), source='schedule')
class User(micromodels.Model): name = micromodels.CharField()
def test_model_add_field(self): obj = self.Person.from_dict(self.data) obj.add_field('gender', 'male', micromodels.CharField()) self.assertEqual(obj.gender, 'male') self.assertEqual(obj.to_dict(), dict(self.data, gender='male'))
class Post(micromodels.Model): title = micromodels.CharField() author = micromodels.ModelField(User, related_name="post")
class SimpleModel(micromodels.Model): name = micromodels.CharField() field_with_source = micromodels.CharField(source='foo')
class SimpleModel(micromodels.Model): name = micromodels.CharField() field_with_source = micromodels.CharField(source='foo') field_with_default = micromodels.DateField(default=date.today)