フォームで登録・変更時のforeign keyの値をobjectではなく、分かりやすい値にする方法
Django adminのフォーム登録を使用する際に、fieldsetsにforeign keyを持つフィールドを指定した場合、登録画面の該当のフィールドの箇所は、セレクトボックスの中身が全てobjectの選択になってしまいます。
これを、ちゃんと理解出来る文字にする方法をメモしておきます。
最初は、ModelFormを作らないといけないのかと思っていましたが、対処方法は簡単でした。
class Test(models.Model): user = models.ForiegnKey(users.User) class Meta: db_table = 'test' def __unicode__(self): return '%s' % self.user.username
上記のように、unicodeメソッドを追加してあげるだけで簡単に対処出来ました。
Django adminはとても便利ですが、時々こう出来たらいいなと思うことをやりたい時は、一度Django adminのクラスのコードを覗いてみたりすると色々分かって良いです。