Python Django onetoonefield未保存实例

Python Django onetoonefield未保存实例,python,django,django-models,Python,Django,Django Models,我正在开发一个应用程序,其中我有两个模型,为了解决这个问题,让我们称它们为A和B。我想有另一个模型,其中我“链接”了A和B,只是为了便于我找到与A相关的B实例。因此我提出: class ABLink(models.Model): a = models.OneToOneField(A, null=True) b = models.OneToOneField(B, null=True) 我使用Django的模型A的post_save信号进行链接: mashup, cr = ABLi

我正在开发一个应用程序,其中我有两个模型,为了解决这个问题,让我们称它们为A和B。我想有另一个模型,其中我“链接”了A和B,只是为了便于我找到与A相关的B实例。因此我提出:

class ABLink(models.Model):
    a = models.OneToOneField(A, null=True)
    b = models.OneToOneField(B, null=True)
我使用Django的模型A的post_save信号进行链接:

mashup, cr = ABLink.objects.get_or_create(a=instance)
if cr:
     mashup.b = B()
else:
    if mashup.b is None:
        mashup.b = B()
.... (assign values to mashup.b attributes)
mashup.b.save()
mashup.save()

问题是mashup.b永远不会保存在数据库中。签入时,phpMyAdmin b设置为NULL。知道我做错了什么吗?首先创建
B
实例,为其分配属性,调用save(现在它有id),然后将其分配给
mashup.B

if cr:
     b = B()
else:
    if mashup.b is None:
        b = B()

#.... (assign values to b attributes)

b.save()
mashup.b = b
mashup.save()