【djangoのエラー】'ModelBase' object does not support indexing
久しぶりにdjangoでmodelを書いていたら大して嵌ってないけど見たこと無いエラーを見たのでメモ。
エラー1
エラー文
anime = models.ManyToManyField('アニメ', Anime, blank=True)
'ModelBase' object does not support indexing
解決方法
anime = models.ManyToManyField(Anime, blank=True, related_name='animes')
エラー2
エラー文
name = models.CharField('名前', max_length=255, unique=True)
ManyToManyでなければ文字列を書くとadminサイトにその文字で反映される。
anime = models.ManyToManyField('アニメ', Anime, related_name='animes',blank=True)
しかしこうすると、、、
__init__() got multiple values for argument 'related_name'
こんなエラーが出る。
解決方法
anime = models.ManyToManyField(Anime, related_name='animes',blank=True, verbose_name='アニメ')
verbose_nameに値を渡して解決。
日本語名がadminサイトで見れるようになった。