My model:
class Course(models.Model):
language = models.ForeignKey(Language)
name = models.CharField(max_length=50, unique=True, default=\'course\')
I ended up adding
'OPTIONS': { 'init_command': 'SET storage_engine=INNODB;' }
to my DB backed configuration in settings.py and that fixed the problem.
The MySQL server was configured to use InnoDB as a default engine, but due to some reason it still tried to create tables with the MyISAM. I am running MySQL 5.1 with Django 2.2.1 and Python 3.6.7