私はカスタムユーザーモデルを使ってdjango Webアプリケーションを構築しています。私がフォームを送信するサインアッププロセスの最後に、完全性エラーが発生します。ここでなぜ私はdjangoの整合性エラーを取得していますか?
は誤りです:
Exception Type: IntegrityError
Exception Value: NOT NULL constraint failed: accounts_user.job_history_id
このエラーは、JOB_HISTORYという名前のカスタム・ユーザー・モデルのフィールドがnullにすることはできませんことを示しています。しかし、そのようなフィールドは存在しません。私はこのエラーが参照していると、なぜそれが起こっている何見当がつかない
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(unique=True)
username = models.CharField(max_length=40, unique=True)
avatar = models.ImageField(blank=True, null=True)
date_joined = models.DateTimeField(default=timezone.now)
is_active = models.BooleanField(default=True)
is_staff = models.BooleanField(default=False)
objects = UserManager()
USERNAME_FIELD = "email"
REQUIRED_FIELDS = ["username", "password"]
def __str__(self):
return "@{}".format(self.username)
def get_short_name(self):
return self.username
:
は、ここに私のカスタム・ユーザー・モデルです。以前の時点でjob_history
という名前のフィールドを追加しましたが、削除してデータベースを更新しています。このエラーは、ユーザーが以前に完了したジョブを格納できるフィールドを達成するために、ジョブとユーザーのモデルを使いこなしていたときにのみ発生し始めました。さらなる詳細は、thisにあります。
なぜ完全性エラーが発生し、どのように修正するのですか?
からjob_history_id列を削除することができます解決しない場合job_historyフィールドを削除した後、makemigrationsを実行して移行しましたか? –
はい、私はそれを言うだけです: '変化は検出されません '@GagikSukiasyan –
makemigrationを実行してから、あなたのアプリをマイグレートしてください。より良いスタートは' manage.py migrate sites'、次に 'manage.py migrate auth' –