如何让Django迁移了解自定义字段内的更改?
我已经创建了自定义字段,它基本上是“升级的”如何让Django迁移了解自定义字段内的更改?,django,django-models,models,django-migrations,Django,Django Models,Models,Django Migrations,我已经创建了自定义字段,它基本上是“升级的”ForeignKey字段。但是,我忘了将_delete=models.PROTECT上的设置为默认值(该字段所需的默认行为) 如果我将on_delete添加到kwargs,则不会发生任何更改。如果我将on_delete添加到构造函数调用中(即在每次使用字段时手动),那么它就可以工作 我想更新该字段的每个用法/实例,将on_delete设置为PROTECT。那么,我如何让Django知道字段默认行为/属性的更改 编辑-澄清:从Django 1.7开始,我
ForeignKey
字段。但是,我忘了将_delete=models.PROTECT上的设置为默认值(该字段所需的默认行为)
如果我将on_delete
添加到kwargs
,则不会发生任何更改。如果我将on_delete
添加到构造函数调用中(即在每次使用字段时手动),那么它就可以工作
我想更新该字段的每个用法/实例,将on_delete
设置为PROTECT
。那么,我如何让Django知道字段默认行为/属性的更改
编辑-澄清:从Django 1.7开始,我正在使用本机迁移。我已经找到了,但我不知道在这种情况下应该如何使用它。根据您使用的是Django 1.7版或South版的本机迁移,您可能需要在自定义字段中添加-method或a。我找到了deconstruct。我怎么能把它用在那个案子上?我在里面要做什么?
class MyReferenceField( models.ForeignKey ):
def __init__(self, *args, **kwargs):
my_args = {
'null': True,
'blank': True,
'to': Photo,
#'on_delete': models.PROTECT, #forgotten property, that I'm adding to the field
}
my_args.update( kwargs )
super(MyReferenceField, self).__init__(**my_args)
... MORE STUFF ...