【发布时间】:2020-01-07 15:19:00
【问题描述】:
当我尝试时
__str__()
外国的方法它提供了这个错误
__str__ returned non-string (type Product)
models.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)
如何表示,谢谢回复!
【问题讨论】:
-
你能分享你的
Product模型吗? -
试试
str(self.product)或str(self.product.product_name) -
@namo:你能返回确切的回溯吗?您确定错误不在 另一个
__str__方法中吗? -
请出示您的
Order型号和__str__方法 -
@namo:乍一看,似乎有另一个模型有一个不返回字符串的
__str__,可能是Order,因为那是你的另一个ForeignKeyProductOrder.