如何在 Django 管理中显示相关模型 属性?

How can I show related model property in Django admin?

我有两个模型,RetailerProduct,如下所示:

class Retailer(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=255)
    website = models.CharField(max_length=255)
    description =  models.TextField(default=None, null=True)

    def __str__(self):
        return str(self.id)

class Product(models.Model):
    id = models.AutoField(primary_key=True)
    price = models.IntegerField(default=None, null=True)
    retailer = models.ForeignKey(Retailer,on_delete=models.CASCADE,related_name='products')
    is_active = models.BooleanField(default=False)
    def __str__(self):
        return str(self.retailer) + ' - ' + str(self.price)

现在我得到的是:

但是我想要在 Django 管理中显示零售商名称而不是零售商 ID,我该怎么办?

你在哪里

class Retailer(models.Model):
    def __str__(self):
        return str(self.id)

改成return名字,return self.name像这样:

class Retailer(models.Model):
    def __str__(self):
        return self.name

当您执行 str(self.retailer) 时,它会使用该函数来确定要 return 的内容。 str(self.retailer) 基本上 self.retailer.__str__()