如何在 Django 管理中显示相关模型 属性?
How can I show related model property in Django admin?
我有两个模型,Retailer 和 Product,如下所示:
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__()
我有两个模型,Retailer 和 Product,如下所示:
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__()