Django 一对一 - 不想删除相关模型

标签 django one-to-one relationships

所以这就是问题所在。我有 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,那么具有该级别的Referee 就会被删除。但我不希望这样,我希望将裁判的信息设置为无。

这可能吗?

谢谢, 阿拉

最佳答案

您需要设置on_delete参数。

在你的情况下:

information = models.ForeignKey(RefereeLevel,related_name='information',blank=False,null=True,default=1, on_delete=models.SET_NULL

关于Django 一对一 - 不想删除相关模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24575555/

相关文章:

class - 两个类之间的 OOP 关系

python - 无法从 Django 应用程序父目录中的子目录导入模块

javascript - Django 在按钮单击时使用 jquery .ajax() 将 html 插入 div

python - Websocket/event-source/... 实现将双向 RPC 暴露给 python/django 应用程序

java - Hibernate一对一映射

ios - 从数据库加载实体而不是直接从数据库提取数据

ios - 核心数据建议

python - 在 Django 1.9 中我应该使用什么来代替 syncdb?

java - Hibernate:我们可以在双方都是拥有方的实体之间建立关系吗?

java - 尝试编写具有一对一关系的两个表,但 joinColumn 为空