Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将新的默认值传播到旧的Django对象_Django_Model_Default_Django South_Database Migration - Fatal编程技术网

将新的默认值传播到旧的Django对象

将新的默认值传播到旧的Django对象,django,model,default,django-south,database-migration,Django,Model,Default,Django South,Database Migration,我刚刚在Django站点中的一个模型的一个字段中添加了一个默认值。在设置默认值之前存在的所有此类对象的此字段值都为空。我希望刚刚设置的新默认值能够向后传播到设置默认值之前已经存在的所有对象上。我怎样才能做到这一点呢?您需要使用。这很简单,只需按照他们文档的教程操作即可。如果从字段中删除null=True,blank=True,它将询问您希望null/blank字段是什么,您可以输入默认值 您需要使用。这很简单,只需按照他们文档的教程操作即可。如果从字段中删除null=True,blank=Tru

我刚刚在Django站点中的一个模型的一个字段中添加了一个默认值。在设置默认值之前存在的所有此类对象的此字段值都为空。我希望刚刚设置的新默认值能够向后传播到设置默认值之前已经存在的所有对象上。我怎样才能做到这一点呢?

您需要使用。这很简单,只需按照他们文档的教程操作即可。如果从字段中删除
null=True,blank=True
,它将询问您希望null/blank字段是什么,您可以输入默认值

您需要使用。这很简单,只需按照他们文档的教程操作即可。如果从字段中删除
null=True,blank=True
,它将询问您希望null/blank字段是什么,您可以输入默认值

只需运行更新查询:

MyModel.objects.filter(myfield__isnull=True).update(myfield=new_value)

只需运行更新查询:

MyModel.objects.filter(myfield__isnull=True).update(myfield=new_value)

我删除了
null=True,blank=True
并运行
python manage.py schemamigration main--auto
,然后运行
python manage.py migrate main
。它产生以下错误:
django.db.utils.IntegrityError:_south_new_main_network.panel_image_file_id不能为NULL
而不是询问我的NULL/blank字段。请告知。我删除了
null=True,blank=True
并运行了
python manage.py schemamigration main--auto
,然后运行了
python manage.py migrate main
。它产生以下错误:
django.db.utils.IntegrityError:_south_new_main_network.panel_image_file_id不能为NULL
而不是询问我的NULL/blank字段。请告知。我用一行非常相似的代码解决了我的问题:
orm['main.mymodel'].objects.filter(myfield\uu isnull=True)。update(myfield=0)
。我把这一行放在我的一个迁移脚本的forwards方法中。我用一行非常相似的代码解决了我的问题:
orm['main.mymodel'].objects.filter(myfield\uu isnull=True)。update(myfield=0)
。我把这行代码放在了我的一个迁移脚本的forwards方法中!感谢所有的丹尼尔·罗斯在那里!