matobaの学んだこと

とあるPythonエンジニアのブログ。ソフトウェア開発、執筆活動、ライフログ。

djangoでadmin画面を触ってる時に出る `Unknown field(s) ...`のエラー

djangoを触っていて、エラーが出た。

Djangoのバージョンは、1.11 以下が、エラーメッセージ。

Unknown field(s) (myfiled) specified for MyModel. Check fields/fieldsets/exclude attributes of class MyModelAdmin.

myfiledとかMyModelAdminとかは、良い感じに目で置換してもらいたい。

admin画面に登録した後に、django adminで詳細ページを開こうとした時に出るエラー。

原因は、filedsのタイポだった。

例えば、django adminに登録する時、以下のようなコードがある。

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    fields = ('title', 'text')

それを、例えば、以下のように書いていて、

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    fields = ('myfiled', 'text')

myfiledなんてフィールドがmodelに定義されてなかったら、先頭のエラーが出る。