はじめに
自分用のメモとして残しておきます。論理的な解決とはなっていないのでご容赦ください。
エラーと解決方法
Djangoにおいてmodels.pyを書いて
python manage.py makemigration
↓↓
python manage.py migration
してからDBにinsertしようとしたら…
No such columns ~
??????カラムがない?????
migrationsディレクトリを確認したところきちんとmigtationファイルも作成されており、migrateも為されていることが確認できる。こんな時は一旦やり直すべしなのでmigrationファイルを消去して再度makemigrations→migrateしてみます。
No such columns ~
????????????カラムがないとのことなのでadminでテーブルの中身を確認してみる。admin.pyを以下のようにします。
from django.contrib import admin
from .models import DBname
admin.site.register(DBname)
そして/adminにアクセスし、ログインします。ユーザ名、パスワードなどを設定していない場合は
python manage.py createsuperuser
としてからユーザを作成してください。そして作成したテーブルを確認したところ、テーブルは存在していたのですが、カラムが存在していませんでした。原因はわからないのでもう少し大元からやり直してみます。db.sqlite3というファイルを削除し、またmigrationファイルおよびmigrateした後のファイルも削除する。そして再度makemagrationからのmigrateし、プログラムを動かすと想定通り動きました。
さいごに
わけのわからないエラーでも英語の文献が多かったので自分用のメモとして残しておきます。まだ全然扱いなれていないけどLaravelに比べてDjangoは少しクセが強いな~って印象です。
おわり。
もしよければ↓ぽちっと↓お願いします。