2013-05-13 25 views
8

私はxlrdを使用してexcelファイルからデータをアップロードし、そのデータをDjangoのモデル(主にIntegerField値)に変換します。私のExcelファイルには、欠けているデータがたくさんあります。残念ながら、これらの欠損データはNULLではなく、私のモデルでは0の値に変換されます。つまり、Personモデルに年齢がない場合、その年齢はNULLではなく0として記録されます。0を設定する代わりにIntegerFieldにNULLを設定する方法は?

これを変更するにはどうすればよいですか?私はこれをやってみました:

age = models.IntegerField(blank=True, null=True) 

しかし、空白のフィールドはデフォルトでは0に設定されています。代わりに、私たちは

blank=True, null=True 

を指定し、それはあなたが

+0

フォームにデフォルト値が指定されていますか? – karthikr

+0

データベースバックエンドとは何ですか? –

+0

DBバックエンドはMySQLです。デフォルトのセットはありません。 models.IntegerField(空白= True、null = True、デフォルト= NULL)のようなことをする必要がありますか? – jyli7

答えて

6

簡単私にとってdjango 1.7を使用しているとき: age = models.IntegerField()は役に立ちませんでしたが、パラメータとしてデフォルト= 0を追加しました。age = models.IntegerField(default=0)は私の問題を解決しています。

+0

私はこれをやっており、アンドロイドアプリで整数フィールドのデータを取得しようとしています。アンドロイドアプリでは、これは0として表示されます。これはORMの問題ですか、それとも0として送信されていますか? –

+0

これはORMの問題ではないと思います。スキーマのデフォルト値は0に設定されていますか? –

+5

これは後方に指定されています。null = True *を指定すると、* NULLを列に格納できます。 –

-2

人生はそれではなかったその列にnullを格納することができます場合は

age = models.IntegerField() 

使用

age = models.IntegerField(blank=True, null=True) 

を使用しての

+2

OPは_force_ではなく、0を避けたいです。 –

関連する問題