読者です 読者をやめる 読者になる 読者になる

データベース APIだけ使う方法

すでに作成済みのデータベースに対して、データを更新する方法です。
Djangoアプリでない、アプリからもすでに作成済みのモデルクラスを
使用して処理をすることができます。


データベースAPIを使うには、以下の条件が必要です。

1. import mysite ができること
作成したDjangoプロジェクト(mysite)の親ディレクトリが、
Pythonパス上に存在していること。
例)
PYTHONPATH=/home/kuma8/workspace/Django


2. 環境変数 DJANGO_SETTINGS_MODULE が設定されている。
Python のドット表記で、プロジェクトのsettings.pyを指定する。
例)
DJANGO_SETTINGS_MODULE=mysite.settings


より詳しく調べるには、以下を参考にしてください。
Django オンラインドキュメント和訳:チュートリアル1
Django オンラインドキュメント和訳:django-admin のドキュメント

サンプルコード いろいろ割愛してあります。:-P
exec_test.sh

#!/bin/sh

export PYTHONPATH=/home/kuma8/workspace/Django
export DJANGO_SETTINGS_MODULE=mysite.settings

python db_test.py

db_test.py

# -*- coding: utf-8 -*-
from django.db import models
from mysite.dat.models import record

import datetime

def add_record():
    r = record()
    r.name = "aaa"
    r.age = 12
    r.kozukai = 10000
    r.date = datetime.date.today()
    r.save()

if __name__ == '__main__':
    # Pythonパスを確認する
    import sys
    print sys.path

    add_record()

models.py

from django.db import models

# Create your models here.
class record(models.Model):
    """local django database api"""
    name = models.TextField()
    age = models.IntegerField()
    kozukai = models.DecimalField(max_digits=5, decimal_places=5)
    date = models.DateField()

    def __unicode__(self):
        return u"%s" % self.name