所以这就是问题所在。我有2个型号:
裁判级别和裁判
以下是:
class RefereeLevel(models.Model):
level = models.PositiveSmallIntegerField(blank=False,default=1,verbose_name=_("level"),unique=True)
salary = models.DecimalField(blank=False,default=0.00,decimal_places=2,max_digits=4,verbose_name=_("salary"))
def __unicode__(self): # Python 2.7: def __unicode__(self):
return self.level
第二节课:
class Referee(models.Model):
member = models.OneToOneField(Member,related_name='member',blank=False)
information = models.ForeignKey(RefereeLevel,related_name='information',blank=False,null=True,default=1)
现在发生的是,如果我删除了RefereeLevel,则会删除该级别的裁判。但是我不想要那个,我希望裁判的信息都没有。
这可能吗?
谢谢, ARA
答案 0 :(得分:6)
您需要设置on_delete参数。
在你的情况下:
information = models.ForeignKey(RefereeLevel,related_name='information',blank=False,null=True,default=1, on_delete=models.SET_NULL
答案 1 :(得分:1)
你可以做的是设置on_delete param like
information = models.ForeignKey(RefereeLevel,related_name='information',blank=False,null=True,default=1, on_delete=models.SET_NULL)
on_delete=models.SET_NULL
会将外键值设置为null