请问如何将外键设置为“ NULL”? 在以下示例中,我想重写delete方法,以便不删除图像,而是将其FK设置为“ NULL”,以便稍后恢复并与父对象重新连接。
def delete(self, using=None, keep_parents=False):
self.foreighnkey = None # foreighnkey is the fk field's name
self.save()
# https://stackoverflow.com/questions/4446652/django-how-to-set-a-field-to-null
# doesn't work this way
P.S。父对象将保持不变,因此不能使用其删除方法
答案 0 :(得分:0)
在这种情况下,可以获取主模型实例,然后使用其相关的管理器调用
Primary_model_instance.secondarymodel_set.remove(self)
# or alternativelly
self.foreighnkey.currentmodel_set.remove(self)