Opt*_*mus 4 python django datetime django-models
我有一个看起来像这样的模型
class Post(models.Model):
id = models.IntegerField(unique=True, primary_key=True)
title = models.CharField(max_length=150, blank=True)
created = models.DateTimeField(blank=True)
...
Run Code Online (Sandbox Code Playgroud)
我必须用大块数据填充数据库.我以平坦的json字符串形式获取数据(没有嵌套)所以我的工作很简单,即
mydict = json.loads(jsonstr)
mypost = Post(**mydict)
mypost.save()
Run Code Online (Sandbox Code Playgroud)
只有一个问题是日期时间以"YYYY-MM-DDThh:mm:ss + zzzz"格式表示(例如 "created" : "2011-11-17T09:21:31+0000"),它打破了上述代码.
我知道forms.DateTimeField了input_formats.有没有办法让DateTimeField接受上面的格式?
子类DateTimeField并适当地转换值:
class ConvertingDateTimeField(models.DateTimeField):
def get_prep_value(self, value):
return str(datetime.strptime(value, FORMAT_STRING))
Run Code Online (Sandbox Code Playgroud)
然后使用ConvertingDateTimeField替换models.DateTimeField.
如果你看看DateTimeField如何创建datetime对象,可能有更好的方法.
| 归档时间: |
|
| 查看次数: |
11973 次 |
| 最近记录: |