その1(ubuntu18.04、python3.6)モデルの設定情報の追加モデルの設定を行うために「job/models.py」の編集を行います。models.DateTimeField(auto_now=True)モデルを書くときに主キー(id)は自動で生成されるので明示的に定義する必要はありません。主キーはレコードが登録されるたびに自動採番(1からインクリメント)されます。外部キーの設定などは以下で行います。「OneToOneField」をどちらかに設定することで実現できます。「ForeignKey」のフィールドをnの方に持たせることで実現できます。「ManyToManyField」をどちらかにつけることで、自動的に中間テーブルを作成してくれます。オプションは必須になっています。設定は以下の6種類があります。何もしないさて、モデルを作成した後はデータベースに反映させる為にマイグレーションを行いますが、初期のマイグレーションの状態は以下のようになっています。0001_initialそれでは、マイグレーションファイルを作成します。apply引数として最後にアプリケーション名をつけることができます。アプリケーション名をつけないと全てのアプリのマイグレーションファイルを作成します。それではマイグレーションを行います。OK無事、実施できたようなのでマイグレーションの状態を確認します。0001_initial上記では全てに[X]が設定されていてマイグレーションが実行されているのがわかります。実際のテーブルがどうなっているか、mysqlからテーブルの状態を確認してみます。sec)jobのアプリでは「アプリ名_モデル名」という名前で3つのテーブルが作成されました。主なFieldクラスで作成されるMariaDBのカラムの型は以下のようになります。datetime(6)URLFieldとかは下手にリファラーとかを設定すると文字制限を超えてしまいそうですね。表示部分の設定をする為にViewの作成をします。モデルと連動すると大変なのでそこは次回に実施し、まずは簡単なテンプレートでの表示だけを行います。「config/urls.py」を設定します。include('job.urls')),]URL設定で「/job/」で始まるURLの設定はJobアプリの「job.urls」に任せてしまっています。次に「job/urls.py」を新規で作成します。‘job’」で設定していますが、「app_name」の変数は必ず入れましょう。次にビューの作成を行います。ビューの作成は関数ベースでもクラスでも実施できますが、クラスを使った書き方を行なっています。JobListView.as_view()テンプレートの作成プロジェクトに以下のようなフォルダ構成を作成します。templates次に以下のテンプレートを作成します。}}</h1></body></html>こちらで動作の確認を行ってみます。環境は「runserver」を起動してテストを行います。0.0.0.0:8000無事、以下の画面が出力されました。モデルと全く結びついていないので次はその辺りなど実施してみます。このブログは株式会社CoLabMixによる技術ブログです。GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。