CatWalkでデータベースにレコードを追加

CatWalkはカッコイイ

データベースをいじろうとして試行錯誤している間に間違えに気づきました。前回データベースを生成するときに、nameカラムおよびcommentカラムの型に「StringCol」を指定していたのですが、これだと日本語が入力できないのですね(asciiのみ)。日本語入力を可能にするためには「UnicodeCol」である必要があります。ですので、

tg-admin sql drop

で現在のsnackテーブルを削除し、

model.pyの記述を以下のように変更しました。

class snack(SQLObject):
name = UnicodeCol()
eval = IntCol()
comment = UnicodeCol()

そして再びtg-admin sql createを実行すればOKです。

前回テーブルの構造を確認するのに、わざわざsqlite3コマンドを使っていたのですが、tg-adminコマンドに同様の機能(tg-admin sql sql)がありました。便利ですね~。

tg-admin sql sql
Using database URI sqlobject.dburi="sqlite:///C:/Documents and Settings/nyusuke/My Documents/Turbogears/JUNKSNACK/devdata.sqlite"
CREATE TABLE snack (
    id INTEGER PRIMARY KEY,
    name TEXT,
    eval INT,
    comment TEXT
);

さて、テーブルは生成できましたがまだ中身がありませんので、いくつかレコードを追加してみようと思います。sqlite3の方から追加してもいいんだとは思いますが、ここではCatWalkという、Turbogearsツールボックスに組み込まれている機能を使ってみたいと思います。

tg-admin toolboxコマンドでツールボックスを立ち上げたら、ブラウザから「localhost:8080」にアクセスします。右上にCatWalkへのリンクがありますのでクリックしましょう。

*CatWalkにアクセスする方法はもう一つあります。model.pyにマウントするやり方ですが、詳しくはこちらを参考にどうぞ。


味気ない画面ですが、左側にsnackテーブルが見えます(複数テーブルがある場合はここにずらっと並びます)。

CatWalkの最初の画面


これをクリックするとテーブルのサマリを見ることができます。

テーブルのサマリ


よく見てみるとカラムの並び順が期待したとおりにはなっていません。Comment, Name, Evalという順番になってしまっています(上記画面ではEvalカラムが切れてしまって見えていませんが、実際にはNameカラムの右側に表示されています)。まずはこのカラムの順番をName, Eval, Commentという順番に変更してみます。

カラムの順番を変更するには、Manage Cokumnsというリンクをクリックします(上記画像のテーブルアイコンの部分をクリックします)。

すると以下のような編集画面に行くことができます。

カラム構造をいじる


ここで各カラムのチェックの左側にマウスをホバーさせれば、ドラッグして順番を移動させることができます。順番を移動できたら「Save」ボタンを押します。

カラムをドラッグ



順番が入れ替わりました(・∀・)

順番が入れ替わった


それではいくつかレコードを追加してみたいと思います。「Add snack +」という青色のボタンをクリックするとレコード追加画面に行くことができます。

入力は直感的にわかると思います。invalidな値を入力しようとすると、「Save」ボタンが押せなかったりします。例えばnameカラムをStringColとして生成した場合は日本語でレコードを追加しようと思っても「Save」ボタンを押すことができません。また例えばevalカラムはIntColとして生成されていますので、全角の数字や、文字を入力しようと思ってもダメです。

データの入力


「Save」ボタンを押せばレコードが追加されます。

データのサマリ


テーブルのサマリを見てみましょう。

確かに追加されてますね!レコード上にマウスを持っていけば編集や削除のアイコンが表示されます。カッコイイなぁ。

レコードが追加された

CatWalkを満喫したところで今日は終了。おやすみなさ~い(・∀・)ノ

カテゴリ
Turbogears Turbogears
トラックバック用URL:
http://nagosui.org/Nagosui/COREBlog2/manage-database-with-catwalk/tbping
コメントを追加

下のフォームに記入してコメントを追加できます。平文テキスト形式。

(必須)
(必須)
(必須)
(Required)
Enter the word

このBlogについて
Plone, Zope, Pythonなどのトピックについてのメモです。
カテゴリ
Plone (98)
Plone Products (23)
COREBlog2 (31)
COREBlog1 (29)
ReadingCOREBlog (7)
Zope (66)
Turbogears (18)
Django (12)
Python (25)
Linux (30)
Nagosui (11)
Design (33)
Misc (48)
moblog (5)
最近のエントリ
Glossy Horizontal Menuを使う nyusuke 2008年11月17日
第3回Python東海終了 nyusuke 2008年11月17日
Universalじゃない件 nyusuke 2008年11月15日
CorruptedErrorが出たので直す nyusuke 2008年11月14日
最近のコメント
Re:WebデザイナーのためのDjangoはじめの一歩 nyusuke 2007年06月01日
Re:WebデザイナーのためのDjangoはじめの一歩 pateo 2007年05月31日
Re:東海Python Workshop 01終了 nyusuke 2007年05月31日
Re:東海Python Workshop 01終了 kfuruhata 2007年05月30日