1

以下 Python 代码会产生错误:

class Post(models.Model):
    author = models.CharField(max_length=40,blank=False,default="")
    title = models.CharField(max_length=100,blank=False,default="")
    content = models.TextField(blank=False,default="")
    #   status = models.CharField(max_length=100,blank=False,default="draft")
    published = models.BooleanField(default = False)
    date_created = models.DateTimeField()
    date_modified = models.DateTimeField()

    def save(self):
        if self.date_created == None:
            self.date_created = datetime.now()
            self.date_modified = datetime.now()
            super(Post, self).save()

这是我收到的错误消息。

 raise DeserializationError(e)

我试过的:

在 suncdb 上它会引发错误

我的问题:

我该如何解决?

4

1 回答 1

2

我的应用程序曾经遇到过同样的错误,但有一个小改动:syncdb 没有抛出任何错误。但是当我尝试访问模型时,我得到了那个错误。无论如何,为我解决的问题是:

python manage.py reset [appname]
python manage.py syncdb

希望它也可以帮助你。如果您有任何数据,您应该将其导出为 JSON,这样您就不会在重置时丢失它。

使用以下命令制作一个夹具(json):

mkdir APPName/fixtures
python manage.py dumpdata APPName --format=json > APPName/fixtures/OriginalData.json

重新加载数据syncdb

你可以在这里阅读更多关于它的信息:https ://code.djangoproject.com/wiki/Fixtures

于 2012-07-30T22:11:27.880 回答