Django OneToOne 反向关系不允许空值

Django OneToOne reverse relationship does not allow null values

我有这个架构(非常简单)

from django.db import Models

class MainClass(models.Model):
    a = models.IntegerField()
    b = models.CharField()

class OtherClass(models.Model):
    c = models.IntegerField()
    main = models.OneToOneField(MainClass, primary_key=True)

这意味着我的MainClass对象有一个名为otherclass的属性,因为这些模型之间存在反向关系

我的问题是,如果我为 MainClass.a 和 MainClass.b 指定有效值,但为 MainClass.otherclass 指定有效值 None。我收到错误

ValueError: 无法分配 None: "MainClass.otherclass" 不允许空值。

我明白没有MainClass就不能有OtherClass(没有意义),但是为什么相反的情况也报错呢?其他方式:为什么没有OtherClass就不能成为MainClass?

看起来像this is a normal behaviour in Django 1.8, although the restriction has been removed in Django 1.10

所以,这不是错误。