我有一个多对多字段,我在 django 管理面板中显示这些字段。当我添加多个项目时,它们都在显示选择器中显示为“ASGGroup 对象”。相反,我希望它们以 ASGGroup.name 字段设置的任何形式出现。我该怎么做?
我的模型看起来像:
class Thing(Model):
read_groups = ManyToManyField('ASGGroup', related_name="thing_read", blank=True)
class ASGGroup(Model):
name = CharField(max_length=63, null=True)
但我看到的 m2m 小部件显示是:
请您参考如下方法:
您需要在模型上定义 __unicode__(如果您使用的是 Python 3,则为 __str__)方法,因此:
class ASGGroup(Model):
name = CharField(max_length=63, null=True)
def __unicode__(self):
return self.name
现在,当您的模型被解析为字符串时,它将返回模型的 name 字段,而不是类名。
