gpt4 book ai didi

python - 如何将 __str__ 与外键 '__str__ returned non-string (type Product)' 一起使用

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:36 27 4
gpt4 key购买 nike

当我尝试

__str__()

国外的方法它提供这个错误

__str__ returned non-string (type Product)

模型.py

class Product(models.Model):
product_name = models.CharField(unique=True, max_length=50 ,
blank=False,null=False)
price = models.PositiveIntegerField()
active = models.BooleanField(default=True)
def __str__(self):
return self.product_name
class ProductOrder(models.Model):


product = models.ForeignKey(Product, on_delete=models.CASCADE ,
null=True)
ordering = models.ForeignKey(Order,
on_delete=models.CASCADE,blank=True,null=True)
pass


def __str__(self):
return self.product

我也试过

def __str__(self):
return self.product.product_name

#product_name is a field from Product table

将提供的错误是

__str__ returned non-string (type QuerySet)

如何表示,谢谢回复!

最佳答案

您不能从 __str__ 方法返回 str 以外的内容。 self.product 不是 string,而是 Product 对象。

但是,您可以对其调用 str(..),以获取该 Product 的文本表示:

class ProductOrder(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE, null=True)
ordering = models.ForeignKey(Order, on_delete=models.CASCADE,blank=True,null=True)

def __str__(self):
return <b>str(</b>self.product<b>)</b>

关于python - 如何将 __str__ 与外键 '__str__ returned non-string (type Product)' 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57793320/

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