我有以下模型:
class ModelA(models.Model):
some_field_A = models.CharField()
some_other_field_A = models.CharField()
class ModelB(models.Model):
some_field_B = models.CharField()
many_to_many_relation = models.ManyToManyField(ModelA)
字符串
在admin.py
中,我使用filter_horizontal来编辑ManyToManyField:
class ModelB(admin.ModelAdmin):
model = ModelB
filter_horizontal = ('many_to_many_relation',)
型
但它只显示some_field_A
,我希望它显示ModelA中的两个字段,因为ModelA中的条目是唯一的,取决于这两个字段,正如您从图片中看到的那样,有多个条目具有相同的值(即some_field_A = EUV
),但它们对于some_other_field_A
具有不同的值:
的数据
2条答案
按热度按时间nfs0ujit1#
它显示您在
ModelA
中定义的__str__(…)
方法的结果,因此如果您在__str__(…)
方法中返回some_field
的值,则它将仅返回some_field
的数据。因此,您可以更改此方法并返回两个字段:
字符串
cyvaqqii2#
我不确定这是否正是您正在寻找的解决方案,但您可以重写
ModelA
的__str__
方法,以在一行中返回信息。例如:
字符串
管理视图应该将每个对象显示为“foo(bar)”