0

私は自分のモデルにsouthtutとともにdjangoを使用しています。時間という 1 つのモデルに列を追加し、それを TimeField として設定しました。次に、python manage.py schemamigration southtut --auto を実行しました。デフォルト値を尋ねられたときに、何も考えずに 1 を入力しました。うまくいきました。次に、python manage.py migrate southtut を実行すると、 ValidationError: [u"'1' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] format."] というエラーが発生しました。エラーが発生する理由がわかりました。しかし、どうすればその値1を取り除くことができますか? 「時間」列が存在しないため、管理サイトにログインして削除できません。そのような列がないため、シェルから実行することもできないようです。しかし一方で、別の列を追加することはできません。つまり、「リアルタイム」、エラー ValidationError: [u"'1' value has an invalid format. It must be in HH:MM[:ss[.uuuuuu]] format."] が引き続き発生するためです。では、その値を正確に取り除くにはどうすればよいでしょうか。

4

1 に答える 1

2

デフォルト値を変更するには、south が作成した移行ファイルを編集するだけです。それはであるsouthtut/migrations/

または、移行ファイルを削除してからschemamigration再度実行する方が簡単な場合もありますが、今回は有効なデフォルト値を指定してください。移行に失敗したため、「問題のある」移行ファイルを削除しても問題はありません。

于 2012-12-04T20:23:00.877 に答える