duc*_*cin 10 django runtime-error fixtures
我为我的django项目设置了一些基本装置.插入数据库的记录之一如下所示:
{
"model": "articles.article",
"pk": 1,
"fields": {
"title": "Blackened Recordings Launches",
"headline": "we're so psyched about our new adventure",
"content": "<p>We like to make it a point here not to bore you with the not-so-exciting business aspects of making and sharing music, but we're so psyched about our new adventure that we just had to tell you about it as we officially launch our very own record label, Blackened Recordings.</p><p>Some of you, who have followed along throughout the years, are aware that in 1994 we renegotiated our contract with the Warner Music Group, which resulted in a joint venture with our record company for releasing all of our recordings including long form videos. Per that agreement, as of today we have taken ownership of all of our master recordings and Blackened Recordings will be the home of all of our current albums and videos along with all future releases including the December 10 release of the \"Quebec Magnetic\" DVD and Blu-ray.</p><p>You may have heard us say it once or twice or a thousand times before, but it's always been about us taking control of all things 'Tallica to give you 110% on every single level every single time. Forming Blackened Recordings is the ultimate in independence, putting us in the driver's seat of our own creative destiny. We're looking forward to making more music and getting it all out to you in our own unique way.</p>",
"image": "examples/slide-03.jpg",
"active": 1,
"created_at": "2013-03-16 17:41:28"
}
},
Run Code Online (Sandbox Code Playgroud)
这是它对应的模型:
class Article(models.Model):
"""News article, displayed on homepage to attract users"""
class Meta:
db_table = 'article'
title = models.CharField(max_length=64)
headline = models.CharField(max_length=255)
content = models.TextField()
image = models.ImageField(upload_to = 'articles/', null=True, blank=True)
active = models.BooleanField()
created_at = models.DateTimeField()
def __unicode__(self):
return self.title
Run Code Online (Sandbox Code Playgroud)
插入夹具记录时,我收到以下警告:
/usr/local/lib/python2.7/dist-packages/django/db/models/fields/__init__.py:827: RuntimeWarning: DateTimeField received a naive datetime (2013-03-16 17:41:28) while time zone support is active.
RuntimeWarning)
Run Code Online (Sandbox Code Playgroud)
我不知道这里有什么问题.我试着关注这篇博文,但我确实安装了pytz,而且我的settings.py中也有USE_TZ=True选项.
duc*_*cin 18
实际上,解决方案深藏在python文档中,引用如下:
序列化感知日期时间时,包括UTC偏移量,如下所示:
"2011-09-01T13:20:30+03:00"
这种装置完全被接受,在我的情况下它是:
"2013-03-16T17:41:28+00:00"
"2013-03-17T23:36:12+00:00"
"2013-03-18T13:19:37+00:00"
Run Code Online (Sandbox Code Playgroud)
输出是:
$ ./manage.py loaddata articles/fixtures/initial_data.json
Installed 3 object(s) from 1 fixture(s)
Run Code Online (Sandbox Code Playgroud)
注意,这'2013-03-16 17:41:28 UTC+0000'不是适当的时区感知日期时间格式,它会给你以下错误:
DeserializationError: Problem installing fixture 'articles/fixtures/initial_data.json': [u"'2013-03-16 17:41:28 UTC+0000' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]
Run Code Online (Sandbox Code Playgroud)
此外,如果你使用的是yaml序列化,似乎是在反序列化的错误datetime以s PyYaml:
https://code.djangoproject.com/ticket/18867
尝试使用json序列化程序,或者可以在.yaml文件中的日期时间周围添加引号.
| 归档时间: |
|
| 查看次数: |
10233 次 |
| 最近记录: |