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
所以,这不是错误。
我有这个架构(非常简单)
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
所以,这不是错误。