2016-09-06 16 views
0

こんにちは私は、Djangoのために新たなんだと私はこの本ではDjangoを学んでいる: djangobook.com と私は第5章& 6理由で立ち往生私が仕事をチェックしようとすると(http://127.0.0.1:8000/admin/books/book/add/)、私はいくつかのエラーを受け取り、それらのエラーを修正しようとしていましたが、それらは消えましたが、新しいエラーが発生しました。ノーハウ。 これは私のエラーです:持つ誤差null値はジャンゴで非NULL制約に違反する

IntegrityError at /admin/books/book/add/

null value in column "publicatithon_date" violates not-null constraint

そして、あなたがここに私のコードのすべて見ることができます:どのように私はこのエラーを解決することができ https://github.com/Anahitahf/mysite2

を? フィードバックに感謝します。

+1

あなたがついてしまったurエラーとurコードを書いてください。 –

+0

Django Bookは非常に古くなっています。 Django 1.8の最新バージョンである[Mastering Django](http://masteringdjango.com/django-book/)を試すことができます。 – Alasdair

+0

このチュートリアルを読むことができます。それは非常に基本的で非常に良い説明とほぼ最新のものです。 –

答えて

0

エラーとして、publication_dateはnullではないフィールドで、publication_dateが設定されていないブックを追加しようとしています。それを修正する
一つの選択肢PUBLICATION_DATEは、このようにあなたのmodels.pyでnull値を受け入れるようにすることです:

publication_date = models.DateField(null=true,) 

はしかし、私はあなたがページをリロードしようとしているような問題が引き起こされていることを考えます?とにかく、管理ページに戻り、新しいブックを再度作成してみてください。エラーはその後起こらないはずです。そうであれば、publication_dateのnullプロパティをtrueに設定できます。

編集:
あなたがそれらに「publicatithon_date」フィールドを持っていない、あなたのモデルを通って行きます。多分あなたは間違ってそのフィールドを作成し、マイグレーションをした後にあなたのモデルからそのフィールドを削除しましたか?

$ python manage.py dbshell 

$ mysql> | psql> ALTER TABLE table_name DROP column publicatithon_date; 

$ python manage.py syncdb 

そして、それはテーブルから間違ったフィールドをドロップします:あなたは、あなたのターミナルで次の操作を行う必要があります。

+0

ありがとうございます。 問題を解決するには、列を削除してもう一度追加して、publication_dateに問題はありません。 そして、私はpublication_dateカラムが必要だと言わなければなりません。それを落とすことはできませんし、再度追加することもできませんでしたが、とにかくそれを落とすことは良いアイディアでした。 –

関連する問題