Django onetoonefield未保存实例

2024-09-30 04:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个应用程序,其中我有两个模型,为了这个问题,我们把它们称为A和B。我想有另一个模型,我把A和B都“链接”起来,这样我就可以很容易地找到与A相关的B的实例。因此,我想到了:

class ABLink(models.Model):
    a = models.OneToOneField(A, null=True)
    b = models.OneToOneField(B, null=True)

我使用Django为model A提供的post_save信号来连接:

^{pr2}$

问题是mashup.b永远不会保存在数据库中。签入时phpMyAdmin b设置为空。你知道我做错了什么吗


Tags: django实例模型true应用程序model链接models
1条回答
网友
1楼 · 发布于 2024-09-30 04:37:54

首先创建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()

相关问题 更多 >

    热门问题