gpt4 book ai didi

django - 我可以创建一个 OneToOneField 来创建一个对象(如果它不存在)吗?

转载 作者:行者123 更新时间:2023-12-03 20:40:27 25 4
gpt4 key购买 nike

我正在使用如下所示的 Django 模型:

class Subscription(models.Model):
user = models.OneToOneField(User)

也就是说,它与 User 具有一对一的关联。来自 Django 的 auth 的类模块。这种关联不是可选的;然而,由于一些遗留代码和一些手动修改数据库,在某些情况下用户没有关联的订阅,这意味着代码如下:
sub = user.subscription

将抛出 DoesNotExist异常(exception)。然而,大部分代码库都假设每个用户都有一个关联的 Subscription目的。

有没有办法可以子类 OneToOneField这样,如果关联的 Subscription数据库中不存在对象,我会创建一个并在 user.subscription时返回被调用,而不是抛出异常?

最佳答案

正确的方法是捕获 post_save信号,必要时创建一个对象。

关于django - 我可以创建一个 OneToOneField 来创建一个对象(如果它不存在)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9951057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com