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
我的模型中有一个 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