繁体   English   中英

在django管理站点中为ManyToMany对象显示字段名称而不是整个对象

[英]Show a field name instead of the whole object for ManyToMany object in django admin site

我的模型如下:

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 ,这对我来说毫无意义。 我希望每个条目都显示为该品牌的名称字段。 我该怎么办?

你可以将__unicode__ __str__ (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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM