django管理模型syncdb无法正常工作

时间:2012-07-30 21:30:20

标签: django django-models django-admin

以下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上引发错误

我的问题:

我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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