5
class Incubator(models.Model):
    name = models.CharField(max_length=30)
    category = models.CharField(max_length=30, blank=True)
    acceptanceRate = models.DecimalField(max_digits=5, decimal_places=2, blank=True, null=True)
    funding = models.IntegerField()
    programLength = models.DecimalField(max_digits=4, decimal_places=2)
    kloutScore = models.IntegerField(blank=True, null=True)
    companies = models.ManyToManyField(Company, blank=True)

    def __unicode__(self):
        return self.name

整数フィールドのいずれかを空白のままにすると、次のようなエラーが表示され続けます。

IntegrityError at /admin/incubators/incubator/add/
incubators_incubator.kloutScore may not be NULL

blank=true と null=true を入れることで、その問題が解決すると思いましたか?

4

2 に答える 2

7

これは、データベースを作成した後で「blank=true」と「null=true」を追加したためです。データベースを削除してから「syncdb」を削除する必要があり、その後機能しました。

于 2012-07-06T05:36:52.597 に答える
0

同様の問題でこの投稿に出くわしたので、私のために働いた解決策を共有したいと思いました:

関連する models.py ファイルの元のクラスでは、次のように値を指定せずにコンストラクターを使用するだけではありません。

 some_field = models.BooleanField()

..代わりに、デフォルト値の False を設定しました。

 some_field = models.BooleanField(default = False)

..データベースを再度同期した後、私の問題は解決しました。

于 2013-12-30T14:39:05.603 に答える