Tuve algunos problemas con las migraciones en producción y localmente. Finalmente, la situación era que en producción solo había migración inicial y localmente había 8 migraciones o algo así. Así que decidí usar
python manage.py migrate app zero tanto en producción como localmente (django 1.8.7). En producción, funcionó, pero localmente generó un error que no apareció antes después makemigrations o migrate .
django.db.utils.IntegrityError: NOT NULL constraint failed: app_userprofile__new.phone_numberdespués de algunos intentos de probar cosas diferentes, el error también comenzó a aparecer después de los comandos de migración.
El modelo en sí:
class UserProfile(models.Model): user = models.OneToOneField(User) phone_number = models.IntegerField(null=True, blank=True, default=None)Consulte su base de datos local.
Este error generalmente ocurre cuando uno o más registros no cumplen con el requisito NOT NULL
UserProfile.objects.filter(phone_number=None)Puede resolver esto completando el campo phone_number de los objetos encontrados
O eliminando objetos que no tienen lleno phone_number
ACTUALIZAR
Administrar cambios en la base de database migrations de bases de datos puede prevenir este tipo de situaciones