这存储在设置文件中 -
DATABASES = {
'default': {
'ENGINE' : 'django.db.backends.mysql',
'NAME' : 'db_test',
'USER' : 'root',
'PASSWORD': '',
'HOST' : 'localhost',
'PORT' : '',
'CONN_MAX_AGE': 45,
'OPTIONS' : {
'init_command': 'SET storage_engine=INNODB',
}
},
我需要使用MYISAM引擎创建一个表,如何在定义模型时设置它。
例如 -
类Test(models.Model): def unicode (个体经营): 返回'%s' %self.name
class Meta:
db_table = 'Test'
user = models.CharField(max_length=100)
name = models.CharField(max_length=200)
type = models.IntegerField()
我需要在MYISAM中创建此表而不更改设置文件。 我怎么能这样做?
答案 0 :(得分:0)
我认为最好的方法是手动完成。
删除
'OPTIONS' : {
'init_command': 'SET storage_engine=INNODB',
}
从您的设置中执行
ALTER TABLE <tablename> ENGINE=MYISAM;
在Django为你的模型创建表之后。
答案 1 :(得分:0)
您是否尝试过迁移?它应该工作。
output-print
来源:https://docs.djangoproject.com/en/1.9/ref/migration-operations/#runsql