我的模型如下:
class Retailer(BaseModel):
brand = models.ManyToManyField('brands.Brand',blank=True)
class Brand(BaseModel):
name = models.CharField(max_length=100, unique=True)
website = models.URLField(max_length=500, blank=True, default='')
我的管理课程如下:
class RetailerAdmin(admin.ModelAdmin):
filter_horizontal = ('brand',)
管理网站确实为我显示了多选字段,但品牌列表中的每个条目都显示为Brand object
,这对我没有意义。我希望每个条目都显示为该品牌的名称字段。我该怎么办?
答案 0 :(得分:11)
您可以将__unicode__
(python 2)或__str__
(python 3)方法添加到您的模型中,以便它看起来像这样
class Brand(BaseModel):
name = models.CharField(max_length=100, unique=True)
website = models.URLField(max_length=500, blank=True, default='')
def __unicode__(self):
return self.name