Python Django:为什么OneToOneField的反面会返回元组?
我的模型中有一个字段:Python Django:为什么OneToOneField的反面会返回元组?,python,django,tuples,one-to-one,Python,Django,Tuples,One To One,我的模型中有一个字段: class Portfolio(models.Model): user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True, on_delete=models.CASCADE) class Book(models.Model): name = models.CharField(max_length=128, verbose_name='Name') author =
class Portfolio(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True, on_delete=models.CASCADE)
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
在视图的其他地方,我试图从用户那里获取公文包
portfolio=request.user.portfolio
我的调试器将结果显示为::(,)
为什么要这样做?1对1不应该返回单个对象吗?我刚刚遇到了相同的错误。正如Daniel所说,在我的模型中,字段后面有一个逗号:
class Portfolio(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True, on_delete=models.CASCADE)
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
教材(models.Model):
name=models.CharField(最大长度=128,详细的name='name')
author=models.OneToOneField('author'),#我刚刚遇到了同样的错误。正如Daniel所说,在我的模型中,字段后面有一个逗号:
class Portfolio(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL, primary_key=True, on_delete=models.CASCADE)
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
教材(models.Model):
name=models.CharField(最大长度=128,详细的name='name')
author=models.OneToOneField('author'),它为我返回一个模型实例。您正在使用自定义模型管理器吗?请确保在portfolio=request.user.portfolio
后面没有逗号。这将把它变成一个元组;你可能在某个地方放了一个逗号,它为我返回了一个模型实例。您正在使用自定义模型管理器吗?请确保在portfolio=request.user.portfolio
后面没有逗号。这将把它变成一个元组;你可能在某处放了一个错误的尾随逗号。