Django:为什么 OneToOneField return 的反转是一个元组?

Django: why does reverse of OneToOneField return a tuple?

我的模型中有一个 OneToOneField 字段:

class Portfolio(models.Model):
    user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True, on_delete=models.CASCADE)

在视图的其他地方,我试图从 User

中获取 Portfolio

portfolio = request.user.portfolio

我的调试器显示结果如下:<class 'tuple'>: (<Portfolio: 9999999>,)

为什么要这样做?不应该 1 到 1 return 单个对象吗?

我刚刚遇到了同样的错误。正如丹尼尔所说,这是我模型中字段后面的尾随逗号:

class Book(models.Model):
    name = models.CharField(max_length=128, verbose_name='Name')
    author = models.OneToOneField('Author'), # <----- this comma was the cause of all evil