Django:为什么OneToOneField的反转会返回一个元组?

时间:2016-09-28 05:47:49

标签: python django tuples one-to-one

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

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

在视图中的其他地方,我正试图从Portfolio

获取User

portfolio = request.user.portfolio

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

为什么这样做?难道不是1比1会返回一个对象吗?

1 个答案:

答案 0 :(得分:1)

我刚刚遇到了同样的错误。正如丹尼尔所说,在我的模型中,这是一个落后的逗号:

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