簡體   English   中英

/django.db.utils.IntegrityError:NOT NULL約束失敗/在python manage.py之后遷移應用程序零

[英]/django.db.utils.IntegrityError: NOT NULL constraint failed/ after python manage.py migrate app zero

我在生產和本地遷移時遇到了一些麻煩。 最后情況是,在生產中只有初始遷移,而且當地有8次遷移或其他東西。 所以我決定使用

python manage.py migrate app zero 

在生產和localy(django 1.8.7)。 在生產中它起作用但在本地它引發了錯誤,這在makemigrationsmigrate命令之后沒有出現。

django.db.utils.IntegrityError: NOT NULL constraint failed: app_userprofile__new.phone_number

在幾次嘗試嘗試不同的事情之后,錯誤也開始出現在遷移命令之后。

模型本身:

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    phone_number = models.IntegerField(null=True, blank=True, default=None)

檢查您的本地數據庫。

當一個或多個記錄不符合NOT NULL要求時,通常會發生此錯誤

    UserProfile.objects.filter(phone_number=None)

您可以通過填寫找到的對象的phone_number字段來解決此問題

或者刪除沒有填充phone_number的對象

UPDATE

使用database migrations管理數據庫更改可以防止此類情況

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM