def test_iso8601_conversion(self): import datetime from PySO8601 import Timezone field = micromodels.DateTimeField() field.populate("2010-07-13T14:01:00Z") result = field.to_python() expected = datetime.datetime(2010, 7, 13, 14, 1, 0, tzinfo=Timezone()) self.assertEqual(expected, result) field = micromodels.DateTimeField() field.populate("2010-07-13T14:02:00-05:00") result = field.to_python() expected = datetime.datetime(2010, 7, 13, 14, 2, 0, tzinfo=Timezone("-05:00")) self.assertEqual(expected, result) field = micromodels.DateTimeField() field.populate("20100713T140200-05:00") result = field.to_python() expected = datetime.datetime(2010, 7, 13, 14, 2, 0, tzinfo=Timezone("-05:00")) self.assertEqual(expected, result)
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)
def test_iso8601_to_serial(self): field = micromodels.DateTimeField() field.populate("2010-07-13T14:01:00Z") native = field.to_python() expected = "2010-07-13T14:01:00+00:00" result = field.to_serial(native) self.assertEqual(expected, result) field = micromodels.DateTimeField() field.populate("2010-07-13T14:02:00-05:00") native = field.to_python() expected = "2010-07-13T14:02:00-05:00" result = field.to_serial(native) self.assertEqual(expected, result)
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.")
def setUp(self): self.format = "%a %b %d %H:%M:%S +0000 %Y" self.datetimestring = "Tue Mar 21 20:50:14 +0000 2006" self.field = micromodels.DateTimeField(format=self.format)
class ExampleModel(micromodels.Model): myfield = micromodels.CharField() time = micromodels.DateTimeField()
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()
def setUp(self): import datetime self.format = "%a %b %d %H:%M:%S +0000 %Y" self.datetimestring = "Tue Mar 21 20:50:14 +0000 2006" self.field = micromodels.DateTimeField( format=self.format, default=datetime.datetime.utcnow)