トッカンソフトウェア

Python Django DB関連1

今回はDjangoを使ってDBにアクセスしてみます。デフォルトではSQLiteを使用されます。
SQLiteを自分で用意する必要はなく、Djangoに組み込まれています。

環境構築で作成したソースをベースにするので、先にそちらで環境を準備して下さい。

初期処理

以下のコマンドで初期処理を行います。
				
python manage.py migrate

			
実行イメージ


スーパーユーザの作成

次に以下のコマンドでスーパーユーザを作成します 。
				
python manage.py createsuperuser

			
実行イメージ


管理画面の表示

以下のコマンドでDjangoを起動し、
				
python manage.py runserver

			
以下のURLにアクセスし、作成したスーパーユーザでログインします。

http://127.0.0.1:8000/admin/





テーブルの作成

環境構築で作成したアプリケーションのフォルダにmodels.pyファイルがあり、これにテーブル情報を書き込みます。

hello/models.py
				
from django.db import models

# Create your models here.


class Tbl(models.Model):
    txt1 = models.CharField(max_length=10)
    dt1 = models.DateField()
    int1 = models.IntegerField()


			
環境構築で作成したプロジェクトのフォルダにsettings.pyファイルがあり、この中のINSTALLED_APPSにアプリケーション名称を追加します。

prj/settings.py
				
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hello',
]

			
以下のコマンドを実行するとテーブルクラスよりテーブルが作成されます。
				
python manage.py makemigrations
python manage.py migrate


			

makemigrationsで実行するSQLのファイルを作成し、


migrateでSQLが実行されます。


上記までの操作で以下のようなテーブルが作成されます。
				
CREATE TABLE "hello_tbl" ( 
  "id" integer NOT NULL PRIMARY KEY AUTOINCREMENT
  , "txt1" varchar (10) NOT NULL
  , "dt1" date NOT NULL
  , "int1" integer NOT NULL
) 

			
テーブルのキーはidが自動的に追加されキーになります。キーをid以外にしたい場合は、以下のようにキーとする項目にprimary_keyを付けます。
				
    txt1 = models.CharField(primary_key=True, max_length=10)

			

管理画面に作成テーブルの表示


アプリケーションのフォルダにadmin.pyがあり、これに上記で作成したテーブルクラスを追加します。

hello/admin.py
				
from django.contrib import admin

# Register your models here.

from hello.models import Tbl

admin.site.register(Tbl)


			
管理画面に作成したテーブルが表示され、編集できるようになります。





ページのトップへ戻る