我需要避免在外键上进行级联删除,但它是OneToOneField(),如:
class MyModel(models.Model):
def delete(self):
self.mysubmodel.clear() # Breaks because self.cartitem is not a QuerySet.
super(MyModel, self).delete()
class MySubModel(models.Model):
mymodel = models.OneToOneField(MyModel)
此版本可以使用(但我不能使用此版本):
class MyModel(models.Model):
def delete(self):
self.mysubmodel_set.clear() # Works because self.mysubmodel_set is a QuerySet.
super(MyModel, self).delete()
class MySubModel(models.Model):
mymodel = models.ForeignKey(MyModel)
答案 0 :(得分:3)
在delete方法中将字段设置为None应该有效:
self.mysubmodel = None
答案 1 :(得分:0)
这里的预期行为是什么?我的意思是,o2o不允许空值?