设置Django / MySQL。有一个模型,调查,目前看起来像......
class Survey(models.Model):
company = models.ForeignKey('Company')
我想设置模型,因此公司可以是空值:
company = models.ForeignKey('Company', blank = True, null = True)
但是,我不确定我应该在MySQL端做什么来确保所有现有的约束/模型。我是否只是通过控制台更改列以接受空值?它是一个实时数据库,因此我不想进行太多实验(我的开发环境使用SqlLite3)。
答案 0 :(得分:0)
更新您的模型,以便blank=True, null=True
。然后在生产服务器上运行sqlall
命令(以便它为MySQL提供输出)
./manage.py sqlall myapp
查找create table语句这将显示survey_id
字段的新定义。
CREATE TABLE `myapp_survey` (
...
`survey_id` integer
...
然后,在数据库shell中,使用ALTER TABLE
命令修改列以接受空值。
ALTER TABLE myapp_survey MODIFY company integer;
小心,并考虑是否要在开发环境中运行MySQL。您是否真的希望将Stack Overflow中的命令复制并粘贴到您的实时数据库外壳中而不先测试它们?