2

私は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 ウィジェットの表示は次のとおりです。

m2mディスプレイ

4

1 に答える 1

3

__unicode__モデルで(または__str__Python 3 を使用している場合は) メソッドを定義する必要があるため、次のようになります。

class ASGGroup(Model):
    name = CharField(max_length=63, null=True)

    def __unicode__(self):
        return self.name

nameモデルが文字列として解析されると、クラス名ではなくモデルのフィールドが返されます。

于 2014-08-21T16:17:22.193 に答える