2017-09-21 7 views
0

私はウェブサイトのようなブログを作ろうとしています。ここでDjango Integrity Error:Null制約に失敗しました。

は私models.pyです:

class upload(models.Model): 
    username = models.CharField(max_length=100) 
    user = models.ForeignKey(settings.AUTH_USER_MODEL,default=1) 
    title = models.CharField(max_length=100) 
    description = models.CharField(max_length=300,default=None) 
    content = models.TextField(default=None,blank=True,null=True) 
    docFile = models.FileField(default=None,blank=True,null=True) 
    timestamp = models.DateTimeField(auto_now=False,auto_now_add=True) 

    def __unicode__(self): 
      return self.title 

    class Meta: 
      ordering = ["-timestamp"] 

    def get_absolute_url(self): 
      return reverse("detail",kwargs={"id":self.id}) 

私は私がいることをsuccessfully.Afterを実行したコマンドpython manage.py makemigrationsを実行した

.Then前に存在していなかったのTextField(コンテンツ)を含むように私のmodels.pyを変更しました私はpython manage.py migrateを実行すると、私は

IntegrityError:NOT NULL constraint failed:uploads_upload.content

(アップロードが名0ですが取得していますfの私のアプリ)

このエラーのいくつかの前のSOの答えを読んで、私はまたnull=Trueblank=True私のコンテンツ属性にも追加しましたが、私は同じエラーが発生します。

私は、Djangoのforms.Hereて詳細を入力しています私のforms.pyです:

class PostForm(forms.ModelForm): 
#docfile = upload.docFile(required=False) 
class Meta: 
    model = upload 
    fields = [ 
    "title", 
    "description", 
    "username", 
    "content", 
    "docFile", 
    ] 

なぜ私はこのエラーを取得していますか?

+0

を移行するための第2の移行を持っているでしょうか?また、 'migrate'が新しく作成した移行を実行していることを確認してください。 – sytech

答えて

0

null=Trueblank=Trueを追加するようにモデルを変更した場合、移行は再作成されませんでした。

あなたが再実行python manage.py makemigrationsする必要があり、あなたが新しいマイグレーションを作ると `ヌル= true`に変更を適用した後、それらを実行してみました

+0

ありがとう!それは働いた – mandar

関連する問題