Djangoのinspectdb

先日、Djangoの設定ファイル、inspectdbの使いようでご紹介したinspectdb機能を使ってみました。

環境はPython 2.7.3、Django 1.4.2、DBはMySQL5.5.28.3です。

顧客、住所、見積書といったテーブルを、外部連携させたDBにinspectdbを適用したところ、見事モデルを出力。

class Addresses(models.Model):
id = models.IntegerField(primary_key=True, db_column=’ID’) # Field name made lowercase.
customer = models.ForeignKey(Customers, db_column=’CUSTOMER_ID’) # Field name made lowercase.
type = models.IntegerField(db_column=’TYPE’) # Field name made lowercase.
title = models.CharField(max_length=90, db_column=’TITLE’) # Field name made lowercase.

外部キーもできていました。varcharは全てCharFieldになっていましたが、うまくモデルを使ってレコードの追加等ができました。

おそらくDjangoのほうはリフレクションの嵐でしょうが、データを大量に扱うときにどれくらいパフォーマンスが出るかなど、今後検証したいと思います。

Posted in