У меня есть модель Python, и я хотел бы вернуть комбинацию из двух полей: category
+ name
.Django: return two string for self - Admin
Единственное, что поле категории является отношением, а внутри таблицы категорий это поле «имя». Обратите внимание, что имя __str__
.
Пример:
таблица Категория: ID 1 "горячий"
Таблица продукта: ID 1 "шоколад"
В Django- Администратор (wh в I кроме): "горячий шоколад"
Вот код:
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
Ошибка заключается в следующем: неподдерживаемый тип операнда (ов) для +: 'Категория' и 'str'
Спасибо!
В чем вопрос? при угадывании вам нужно 'self.category.name + self.name' –
@JoranBeasley this return a non-string –
Вы получаете сообщение об ошибке? пожалуйста, покажите нам не только то, что вы ожидаете (например, «Горячий шоколад»), но и то, что ваш фактический результат вы не ожидаете. –