2017-08-17 10 views
0

私はDjangoを学び、PyCharmを使用してDjangoでテーブルを作成しました。私はテーブルにいくつかの値を入力した後、テーブルに別のカラムを追加しました。さて、私はキッカーズを作ろうとしたが、うまくいったのですが、移行しようとしたときに、Empty Columnが添付されているなどの主なエラーが多数現れました。 その後、最初にその列のNull値を許可してから列をコメントアウトすることによって、多くの試行を行いましたが、失敗しました。 同じコードをmodels.pyファイルに入れても、同じエラーが表示され続けます。DjangoのSQLite3テーブルで問題が発生しました

from django.db import models 


    class Albums(models.Model): 
     # name = models.CharField(max_length=250, default=None) 
     artist = models.CharField(max_length=250) 
     duration = models.CharField(max_length=20) 

    # def __str__(self): 
    #  return self.artist 


class Songs(models.Model): 
    album = models.ForeignKey(Albums, on_delete=models.CASCADE) 
    name = models.CharField(max_length=250) 

PS:私もPyCharmを再起動しようとしている。ここ

はmodels.pyファイルのコードです。

+0

あなたのエラーログに投稿すると役立ちます。 – Ykh

+0

既存のデータを持つテーブルにnull以外の列を追加することはできません。 'null = True'を設定するか、デフォルト値を設定する必要があります。 – Selcuk

答えて

1

移行する前にnull = True、blank = Trueを設定する必要がありました。あなたはそれをしなかったので、あなたは今や悪いマイグレーションファイルを持っています。新しいマイグレーションを行うたびにmigrationsフォルダーにファイルを追加するだけですが、悪いマイグレーションファイルはまだ存在し、適用されません。あなたのマイグレーションフォルダに移動し、エラーの原因となっている悪いマイグレーションファイルを削除する必要があります。一度これを行うと、正常に移行できるはずです。

+0

私は参照してください。私はグラフィカルデータベースにアクセスすることができた管理者のスーパーユーザーを作成し、そこから削除しました。今はうまくいく。どうもありがとう –