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

アプリケーションで同じエラーが 1 回ありましたが、わずかな変更がありました。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 に答える