Python + Django してみた。 その4.データベース。


体力が切れてきた。やばい。みむらんです。

データベースを使ったサンプルってことで、何かやろうかと思ったのですが、
小さいものが見当たらないので、使い方だけ。

参照 : http://djangoproject.jp/doc/ja/1.0/topics/db/queries.html

 

1.models.py でモデルを定義しよう

Entry クラスにぼこぼこ書くだけで定義完了です。

class Human(models.Model):
    name = models.CharField(max_length=12)
    description = models.TextField()
    age = models.IntegerField()

たとえば、人の名前を管理するなら、こんな感じでしょうか。

name CharField(max_length=12) 最長12文字の文字列
description TextField() 文字列
age IntegerField() 数字

 

2.データベースへの反映

settings.py に、各種設定を済ませておきます。

変数名 設定内容
DATABASE_ENGINE データベースエンジン ‘mysql’ / ‘sqlite3’ など
DATABASE_NAME データベース名 ‘human_db’
DATABASE_USER ユーザ名 ‘mimuran’
DATABASE_PASSWORD パスワード ‘hogehoge’
DATABASE_HOST サーバホスト名 ‘example.com’
DATABASE_PORT ポート番号 ‘1234’

 

一通り済ませたら、

$ ./manage.py syndb

で、実データベースに反映します。

 

3.データの読み書き

書き込み:

data = Human()
data.name = u'みむらん'
data.age = 19
data.description u'ぱいそんよくわかってない系だんし'
data.save()

インスタンスを生成して、ごにょごにょ詰め込んだ後、 save メソッドを呼び出して保存。

すべて読み出し:

all = Human.objects.all()

条件を付けて読み出す:

mimuran = Human.objects.filter(name=u'みむらん')

とりあえず、こんな感じで。


 

関連記事