【发布时间】:2016-10-13 04:10:15
【问题描述】:
我有一个 Python 模型,我想返回两个字段的组合:category + name。
唯一的一点是类别字段是一个关系,在类别表中,它是一个“名称”字段。请注意,__str__ 是名称。
例子:
类别表: id 1 “热”
产品表:id 1“巧克力”
在 Django-Admin 中(我除外):“热巧克力”
代码如下:
class Product(models.Model):
name = models.CharField(_('product_name'), max_length=55)
image = models.CharField(_('product_image'),max_length=255)
description = models.CharField(_('product_description'), max_length=500)
price = models.DecimalField(_('product_price'), max_digits=4, decimal_places=2)
category = models.ForeignKey(Categorie, on_delete=models.CASCADE)
def __str__(selfProduct):
return self.category + self.name
错误如下:+ 的操作数类型不受支持:'Categorie' 和 'str'
谢谢!
【问题讨论】:
-
这里的问题是什么?猜你需要
self.category.name + self.name -
@JoranBeasley 这返回一个非字符串
-
您遇到错误了吗?请不仅向我们展示您的期望(即“热巧克力”),而且还向我们展示您不期望的实际输出。
-
好的,现在我们已经接近了...
self.category.name + self.name猜测...或者str(self.category) + self.name如果您在Category类上重载了 str 函数
标签: python django django-models django-admin