在Django admin中显示多个关系的值

2024-04-28 08:29:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在我的django管理面板中展示一个品牌的自行车。我已经设法展示了标题,但我正在与品牌抗争

这是我的模型.py:

class Bike(models.Model):
  item = models.OneToOneField(Item, on_delete=models.CASCADE)
  category = models.ManyToManyField(Category, blank=True)
  image = models.ImageField(upload_to='bikes')
  brand = models.ManyToManyField(Brand, null=True)

  def __str__(self):
      return self.item.title

class Brand(models.Model):
  name = models.CharField(max_length=20)

  def __str__(self):
      return self.name

我试过:

def __str__(self):
  return self.brand.name

但当时什么都没有表现出来。你知道如何同时显示self.item.title和brand name吗


2条回答

试试这个,看看是否有效

`def brand_names(self):
        return ', '.join([x.name for x in self.brand.all()])`

您需要返回str中的品牌名称 所以我给你一些东西

def ___str__(self):
    return ",".join([brand.name for brand in self.brand.objects.all()])

上面的东西给所有的品牌名称在您的管理面板

相关问题 更多 >